|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
struct person //定义一个结构体和结构体名。
{
char name[20]; //定义结构体变量。
int count;
}leader[3]={{"li",0},{"lo",0},{"lp",0}}; //结构体数组赋初值。
int main()
{
int i,j;
char leader_name[20];
for (i=1;i<=10;i++)
{
for (i=1;i<=10;i++)
{
printf ("input name (%d):",i);
while (1)
{
scanf ("%s",leader_name);
if (leader_name == leader[0].name || leader_name == leader[1].name || leader_name == leader[2].name)
{
break;
}
else
{
printf ("please input again:");
}
}
// 以上红色标注部分我是想要它输入不符合的字符串的时候就重新输出一次的。但是不知道怎么着他跳不出循环。进不去if语句里边。不知道哪里错了。或者怎么样才能够实现重新输入正确的之后就继续执行以下的语句。
for (j=0;j<3;j++)
{
if (strcmp(leader[j].name,leader_name) == 0) //strcmp是比较字符串函数S1>S2时返回值大于0
{ //S1=S2时返回值等于0,S1<S2时返回值小于0
leader[j].count ++;
}
}
}
}
printf ("\n");
for (j=0;j<3;j++)
{
printf ("%s : %d\n",leader[j].name,leader[j].count);
}
}
|
|