鱼C论坛

 找回密码
 立即注册
查看: 2248|回复: 3

纠结2天的问题!

[复制链接]
发表于 2014-10-19 18:44:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>
#include <string.h>
int main()
{
        char *a,*b,*c,*d;
        int i,f,g,h,j,y,u,p,o;
        int bo;
        char name[100];
        f = 0;
        g = 0;
        h = 0;
        j = 0;
        y = 0;
        u = 0;
        p = 0;
        o = 0;
        a = "小甲鱼";
        b = "苍井空";
        c = "松岛枫";
        d = "莫丁丁";
        printf("欢迎进入良好公民评选投票系统:<>\n");
        printf("候选人有:小甲鱼,仓井空,松岛枫,莫丁丁\n");
        for(i = 1; i <= 10; i++)
        {
                printf("第%d位投票,请写下支持的候选人的名字: ",i);
                gets(name);

        }
        printf("\n\n");
        for(bo = 1; bo <= i; bo++)       //这里为什么只判断gets输入的最后一个丫!!! 要用什么才能解决??????
        {
                if(strcmp(name,a)==0)
                {
                        f = y+1;
                }
                if(strcmp(name,b)==0)            
                {
                        g = u+1;
                }
                if(strcmp(name,c)==0)
                {
                        h = p+1;
                }
                if(strcmp(name,d)==0)
                {
                        j = o+1;
                }
        }
        printf("%s的得票为: %d\n", a, f);
        printf("%s的得票为: %d\n", b, g);
        printf("%s的得票为: %d\n", c, h);
        printf("%s的得票为: %d\n", d, j);
       
                if(f>=g && f>=h && f>=j )
                {
                        printf("本次投票活动的胜利者是:%s\n",a);
                }
                if(g>f && g>h && g>j)
                {
                        printf("本次投票活动的胜利者是%s\n",b);
                }
                if(h>f && h>g && h>j)
                {
                        printf("本次投票活动的胜利者是:%s\n",c);
                }
                if(j>f && j>g && j>h)
                {
                        printf("本次投票活动的胜利者是:%s\n",d);
                }
                system("pause");
        return 0;



       
       


}
帮忙解决下,O(∩_∩)O谢谢!!

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-10-19 22:02:05 | 显示全部楼层
两个循环不应该分开哦,我帮您改了一下,顺便简化了一下:
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. int main()
  5. {
  6. char *a,*b,*c,*d;
  7. int i,f,g,h,j;
  8. char name[100];
  9. f = 0;
  10. g = 0;
  11. h = 0;
  12. j = 0;
  13. a = "小甲鱼";
  14. b = "苍井空";
  15. c = "松岛枫";
  16. d = "莫丁丁";
  17. printf("欢迎进入良好公民评选投票系统:<>\n");
  18. printf("候选人有:小甲鱼,仓井空,松岛枫,莫丁丁\n");
  19. for(i = 1; i <= 10; i++)
  20. {
  21. printf("第%d位投票,请写下支持的候选人的名字: ",i);
  22. gets(name);
  23. if(strcmp(name,a)==0)
  24. {
  25. f++;
  26. }
  27. if(strcmp(name,b)==0)
  28. {
  29. g++;
  30. }
  31. if(strcmp(name,c)==0)
  32. {
  33. h++;
  34. }
  35. if(strcmp(name,d)==0)
  36. {
  37. j++;
  38. }
  39. }
  40. printf("\n\n");
  41. printf("%s的得票为: %d\n", a, f);
  42. printf("%s的得票为: %d\n", b, g);
  43. printf("%s的得票为: %d\n", c, h);
  44. printf("%s的得票为: %d\n", d, j);

  45. if(f>=g && f>=h && f>=j)
  46. {
  47. printf("本次投票活动的胜利者是:%s\n",a);
  48. }
  49. else if(g>=h && g>=j)
  50. {
  51. printf("本次投票活动的胜利者是%s\n",b);
  52. }
  53. else if(h>=j)
  54. {
  55. printf("本次投票活动的胜利者是:%s\n",c);
  56. }
  57. else
  58. {
  59. printf("本次投票活动的胜利者是:%s\n",d);
  60. }
  61. system("pause");
  62. return 0;
  63. }
复制代码

评分

参与人数 1荣誉 +4 鱼币 +5 贡献 +2 收起 理由
破灬王 + 4 + 5 + 2 热爱鱼C^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-19 22:37:54 | 显示全部楼层
漩涡鸣人 发表于 2014-10-19 22:02
两个循环不应该分开哦,我帮您改了一下,顺便简化了一下:

哦 好像是的。。。。那为什么分开了就不值读取gets最后一个值呢进行判断呢??
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-19 22:45:39 | 显示全部楼层
漩涡鸣人 发表于 2014-10-19 22:02
两个循环不应该分开哦,我帮您改了一下,顺便简化了一下:

哎呀 f =+1;那里搞错了,要改一下 f=++f; 不然程序还有病!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-17 11:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表