菜鸟 C语言 求指教....
有一个小题,学生点名。 输入人数n 再输入n个人名 。输入来的学生n-1个名字。 输出哪个人没来。 ps:只有一个人没来
下面是我写的 执行时该输入姓名的个数都不对 不知道哪里错了...
再问问这种情况下要Process to the end of file 怎么写? 谢谢!
#include<stdio.h>
#include <string.h>
int main()
{
char a[50][30];
char b[50][30];
int n,i,j,x;
scanf("%d",&n);
for(i=0;i<n;i++)
gets(a[i]);
for(j=0;j<n-1;j++)
gets(b[j]);
for(i=0;i<n;i++)
{
x=0;
for(j=0;j<n-1;j++)
if(strcmp(a[i],b[j])==0)x=1;
if(x==0)puts(a[i]);
}
return 0;
}
[解决办法]
- C/C++ code
#include<stdio.h>#include <string.h>int main(){ char a[50][30]; char b[50][30]; int n,i,j,x; scanf("%d",&n); getchar(); //吸收输入n时的回车,如果不处理掉,gets()就会得到这个回车字符 for(i=0;i<n;i++) gets(a[i]); //也可以用scanf("%s", a[i]);,这样就不要用 getchar(); for(j=0;j<n-1;j++) gets(b[j]); for(i=0;i<n;i++) { x=0; for(j=0;j<n-1;j++) if(strcmp(a[i],b[j])==0)x=1; if(x==0)puts(a[i]); } return 0;}