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那怎么把这个函数与主函数进行信息交流呢?