#include <iostream>
#include <cstdio>
#include <string.h>
using namespace std;
struct name
{
char a[10];
char b[10];
char c[10];
};
int main()
{
int t = 0, f = 0, g = 0;
int n, i ;
char ch[100];
scanf("%d", &n);
struct name p1;
strcpy(p1.a, "li");
strcpy(p1.b, "zhang");
strcpy(p1.c, "sun");
for(i = 0; i < n; i++)
{
scanf("%s", ch);
if(strcmp(ch, p1.a) == 0) t++;
if(strcmp(ch, p1.b) == 0) f++;
if(strcmp(ch, p1.c) == 0) g++;
}
printf("%d %d %d\n", t, f, g);
return 0;
运行之后还要自己输入值的
a,b,c数组必须指定长度的
供参考!
#include <stdio.h>
#include <string.h>
typedef struct person
{
char s1[20];
int n1;
char s2[20];
int n2;
char s3[20];
int n3;
} per;
int main(int argc, char *argv[])
{
int n;
per p;
strcpy(p.s1, "Ling");
p.n1 = 0;
strcpy(p.s2, "Zhang");
p.n2 = 0;
strcpy(p.s3, "Sun");
p.n3 = 0;
do
{
scanf("%d", &n);
} while (n < 0);
char tmp[20];
for (int i = 0; i < n; i++)
{
scanf("%19s", tmp);
if (!strcmp(tmp, p.s1))
{
p.n1++;
}
else if (!strcmp(tmp, p.s2))
{
p.n2++;
}
else if (!strcmp(tmp, p.s3))
{
p.n3++;
}
}
puts("\n");
printf("%s:%d\n%s:%d\n%s:%d\n", p.s1, p.n1, p.s2, p.n2, p.s3, p.n3);
return 0;
}