求助,一道例题~~~电脑不知道怎么回事不能悬赏,不好意思
#include <stdio.h>void main()
{
int max1(int ,int ,int ,int);
struct toupiao
{
char *name;
int num;
}a = {{"小甲鱼",0},{"苍井空",0},{"松岛枫",0},{"莫丁丁",0}};
int i,k;
char *j;
printf("欢迎进入良好公民评选投票系统:()\n\n");
printf("候选人有:小甲鱼、苍井空、松岛枫、莫丁丁\n\n");
for (i = 0 ;i < 10 ; i++)
{
printf("第 %d 位投票,请写下支持候选人的名字:", i+1);
scanf("%s", &j);
printf("\n");
if(j = "小甲鱼")
{a.num++;}
if(j = "苍井空")
{a.num++;}
if(j = "松岛枫")
{a.num++;}
if(j = "莫丁丁")
{a.num++;}
}
printf("%s同学得票数为:%d\n",a.name,a.num);
printf("%s同学得票数为:%d\n",a.name,a.num);
printf("%s同学得票数为:%d\n",a.name,a.num);
printf("%s同学得票数为:%d\n",a.name,a.num);
k = max1(a.num,a.num,a.num,a.num);
for(i = 0 ;i < 4 ; i++)
{
if( k = a.num )
{
printf("此次胜利者为:%s\n",a.name);
break;
}
}
}
int max1(int a, int b, int c ,int d)
{
int t = {a,b,c,d};
int max, i = 0;
for( ; i<4 ;i++);
{
if(max < t)
{
max = t;
}
}
return max;
}
代码是这样的
static/image/hrline/4.gif
求解!!!{:9_228:}
上的一个if(k = a.num)这里代码错误 改为== 还有下面最大的函数,max没有赋初值,把他赋值为a ,即max=a即可 if(j = "小甲鱼");在C与C++里面,=这是表示赋值符号,不是比较而比较(==)这样的,在IF里给一个数赋值永远是真的。你可以这样写if("小甲鱼" == j);把字符串常量放在左边。右边为变量,你这样把赋值符号与比较==用混了的话。编译器会提醒错误的。还就是变量在声明时最好给他赋一个值,有些编译器会给他的值。但是不确定。自己赋值最好。 helehappy 发表于 2015-8-26 08:46
上的一个if(k = a.num)这里代码错误 改为== 还有下面最大的函数,max没有赋初值,把他赋值为a ,即max= ...
哦哦就是,马虎了,谢谢 yjip267 发表于 2015-8-26 10:47
if(j = "小甲鱼");在C与C++里面,=这是表示赋值符号,不是比较而比较(==)这样的,在IF里给一个数赋值永 ...
明白了,谢谢回答 #include <stdio.h>
void main()
{
int max1(int, int, int, int);
struct toupiao
{
char *name;
int num;
}a = { { "小甲鱼", 0 }, { "苍井空", 0 }, { "松岛枫", 0 }, { "莫丁丁", 0 } };
int i, k;
char arr;
printf("欢迎进入良好公民评选投票系统:()\n\n");
printf("候选人有:小甲鱼、苍井空、松岛枫、莫丁丁\n\n");
for (i = 0; i < 10; i++)
{
printf("第 %d 位投票,请写下支持候选人的名字:", i + 1);
scanf("%s", arr);
printf("\n");
if (!(strcmp(arr ,"小甲鱼")))
{
a.num++;
}
if (!(strcmp(arr, "苍井空")))
{
a.num++;
}
if (!(strcmp(arr, "松岛枫")))
{
a.num++;
}
if (!(strcmp(arr, "莫丁丁")))
{
a.num++;
}
}
printf("%s同学得票数为:%d\n", a.name, a.num);
printf("%s同学得票数为:%d\n", a.name, a.num);
printf("%s同学得票数为:%d\n", a.name, a.num);
printf("%s同学得票数为:%d\n", a.name, a.num);
k = max1(a.num, a.num, a.num, a.num);
for (i = 0; i < 4; i++)
{
if (k = a.num)
{
printf("此次胜利者为:%s\n", a.name);
break;
}
}
}
int max1(int a, int b, int c, int d)
{
int t = { a, b, c, d };
int max=0, i = 0;
for (; i<4; i++);
{
if (max < t)
{
max = t;
}
}
return max;
} {:9_240:} Delta 发表于 2015-8-28 14:33
#include
void main()
谢谢{:9_240:} 不客气,圣诞快乐! Delta 发表于 2015-12-24 14:07
不客气,圣诞快乐!
谢谢,元旦快乐
页:
[1]