当前位置:编程学习 > C/C++ >>

C语言输入字符然后比较是否相同后输出

输入姓名与里面结构体中存放姓名的char xinming[],用if(strcmp(stud[j].nicheng,k)==0)判断是否相同然后输出结构体中的信息,请问我的函数要补充哪些?函数如下: { char k[10]; int j; printf("请输入姓名:"); //这里填什么????? for(j=0;j<c;j++) //c你不用管他 { if(strcmp(stud[j].nicheng,k)==0) { printf("帐号:%d\n",stud[j].zhanghao); printf("昵称:%c\n",stud[j].nicheng); //这里是%s还是%c? printf("年龄:%d\n",stud[j].nianling); getchar(); } } }
答案:{
   char k[10];
   int j;
   printf("请输入姓名:");
   //这里填什么?????
gets(k) 或者 scanf("%s",&k);
   for(j=0;j<c;j++)     //c你不用管他
   {
	 if(strcmp(stud[j].nicheng,k)==0)
	   {
	      printf("帐号:%d\n",stud[j].zhanghao);
          printf("昵称:%c\n",stud[j].nicheng);     //这里是%s还是%c?  c是单个字符 s是字符串 你问我我问谁啊
          printf("年龄:%d\n",stud[j].nianling);
		  getchar();
       }
	 }
}
其他:(1)scanf(k,"%s");
(2)%s,感觉你的昵称不可能定义成字符型,应该是数组 printf("请输入姓名:");后面加上
scanf("%s",k);
如果输出的是字符串就用%s,字符就用%c char k[10];
   int j;

  
   for(j=0;j<c;j++)     //c你不用管他
   {    printf("请输入姓名:");
          scanf("%c",&k[j]);//通过循环来把名字放入数组中
	 if(strcmp(stud[j].nicheng,k)==0)
	   {
	      printf("帐号:%d\n",stud[j].zhanghao);
          printf("昵称:%c\n",stud[j].nicheng);     //这里是%s还是%c?  这里是c因为你定义的是字符类型的,不过会有错吧! 应该定义字符串类型的!
          printf("年龄:%d\n",stud[j].nianling);
		  getchar();
       }
	 }
} #include<stdio.h>
#include<string.h>
int Delete(char a[],int n)
{
 for(int i=0;i<n;i++)
 {
  if(a[i]==a[n])
   return 0;
 }
 return 1;
}
void main()
{
 int i,j,n;
 char a[1000];
 printf("请输入字符串内容:\n");
 scanf("%s",&a);
 n=strlen(a);
 for(i=1;i<n;i++)
 {
  if(Delete(a,i)==0)
  {
   n--;
   for(j=i;j<n;j++)a[j]=a[j+1];
   i--;
  }
 }
 a[n]='\0';
 printf("删除相同字符后的字符串为:\n");
 printf("%s\n",a);
}
你试一试这个看看
 

上一个:c语言 viod
下一个:c语言 函数返回值与函数参数都为void那怎么把这个函数与主函数进行信息交流呢?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,