把名字放到数组中双重循环用strcmp()函数比较两个字符串
你题目的解答代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int n,i,j,r=0,d=-1;
scanf("%d", &n);
char a[n][21];
for (i = 0; i < n; i++)
{
scanf("%s", a[i]);
}
for (i = 1; i < n; i++)
{
for (j = 0; j < i; j++)
{
if (strcmp(a[j],a[i])==0)
{
if (r==0)
d = j;
r++;
break;
}
}
}
if (d!=-1){
printf("%d\n", n-r+1);
printf("%s\n", a[d]);
}else{
printf("%d\n", n);
printf("000\n");
}
return 0;
}
如有帮助,望采纳!谢谢!
代码如下:
#include <stdio.h>
#include <string.h>
int main()
{
char buf[500][20];
int i,j,n,index=0,shasi=0;
scanf("%d",&n);
for(i=0;i<n;i++)
gets(buf[i]);
for (i=1;i<n;i++)
{
for (j=0;j<i;j++)
{
if(strcmp(buf[i],buf[j]) == 0)
{
if(index == 0)
index = i;
shasi++;
break;
}
}
}
printf("%d\n",n-shasi+1); //放过第一个人
if(index == 0)
printf("000");
else
printf("%s",buf[index]);//放过的第一个人
return 0;
}