Sa。。 发表于 2015-8-25 22:26:50

求助,一道例题~~~电脑不知道怎么回事不能悬赏,不好意思

#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:}

helehappy 发表于 2015-8-26 08:46:46

上的一个if(k = a.num)这里代码错误 改为==   还有下面最大的函数,max没有赋初值,把他赋值为a ,即max=a即可

yjip267 发表于 2015-8-26 10:47:21

if(j = "小甲鱼");在C与C++里面,=这是表示赋值符号,不是比较而比较(==)这样的,在IF里给一个数赋值永远是真的。你可以这样写if("小甲鱼" == j);把字符串常量放在左边。右边为变量,你这样把赋值符号与比较==用混了的话。编译器会提醒错误的。还就是变量在声明时最好给他赋一个值,有些编译器会给他的值。但是不确定。自己赋值最好。

Sa。。 发表于 2015-8-26 12:00:54

helehappy 发表于 2015-8-26 08:46
上的一个if(k = a.num)这里代码错误 改为==   还有下面最大的函数,max没有赋初值,把他赋值为a ,即max= ...

哦哦就是,马虎了,谢谢

Sa。。 发表于 2015-8-26 12:01:26

yjip267 发表于 2015-8-26 10:47
if(j = "小甲鱼");在C与C++里面,=这是表示赋值符号,不是比较而比较(==)这样的,在IF里给一个数赋值永 ...

明白了,谢谢回答

Delta 发表于 2015-8-28 14:33:04

#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;
}

Sa。。 发表于 2015-8-28 21:53:05

{:9_240:}

Sa。。 发表于 2015-8-28 21:53:51

Delta 发表于 2015-8-28 14:33
#include

void main()


谢谢{:9_240:}

Delta 发表于 2015-12-24 14:07:59

不客气,圣诞快乐!

Sa。。 发表于 2015-12-30 23:42:49

Delta 发表于 2015-12-24 14:07
不客气,圣诞快乐!

谢谢,元旦快乐
页: [1]
查看完整版本: 求助,一道例题~~~电脑不知道怎么回事不能悬赏,不好意思