读书人

初学者 C语言 求指教.

发布时间: 2012-04-14 17:14:21 作者: rapoo

菜鸟 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;} 

读书人网 >C++

热点推荐