标题:为什么字符串输入按回车无法结束?
只看楼主
hbsck1993
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-9-21
结帖率:50%
已结贴  问题点数:5 回复次数:6 
为什么字符串输入按回车无法结束?
#include <stdio.h>
#include <string.h>

void main()
{
    int i,j,a[4]={0};
    char list[30];
    struct candidate
    {
        char name[20];
    }student[4]={{"xiaobai"},{"xiaohong"},{"xiaogang"},{"xiaoming"}};
    for(i=0;i<5;i++)
    {
        printf("请输入第%d位选票\n",i+1);
        scanf("%s\n",list);
        printf("%s\n\n",list[30]);
        for(j=0;j<4;j++)
        {
            if(strcmp(list[30],student[j].name)==0)
            {
                a[j]=a[j]+1;
            }
        }
    }
    for(i=0;i<4;i++)
    {
        printf("%s的选票数为:%d\n",student[i].name,a[i]);
    }

}
搜索更多相关主题的帖子: 输入 list name student for 
2017-09-27 18:12
hbsck1993
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-9-21
得分:0 
2017-09-27 18:14
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
得分:3 
程序代码:
#include <stdio.h>
#include <string.h>

void main()
{
    int i, j, a[4] = { 0 };
    char list[30];
    struct candidate
    {
        char name[20];
    }student[4] = { { "xiaobai" }, { "xiaohong" }, { "xiaogang" }, { "xiaoming" } };
    for (i = 0; i<5; i++)
    {
        printf("请输入第%d位选票\n", i + 1);
        scanf("%s", list);
        printf("%s\n\n", list);
        for (j = 0; j<4; j++)
        {
            if (strcmp(list, student[j].name) == 0)
            {
                a[j] = a[j] + 1;
            }
        }
    }
    for (i = 0; i<4; i++)
    {
        printf("%s的选票数为:%d\n", student[i].name, a[i]);
    }

}

早知做人那么辛苦!  当初不应该下凡
2017-09-27 18:23
hbsck1993
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-9-21
得分:0 
回复 3楼 炎天
大哥,还是解决不了啊,还是那种情况啊
2017-09-27 18:39
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
得分:0 
回复 4楼 hbsck1993
是么?

早知做人那么辛苦!  当初不应该下凡
2017-09-27 18:59
hbsck1993
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-9-21
得分:0 
回复 5楼 炎天
还是和问题中一样的情况,并且我保证对着你给的答案一个字符一个字符改过了,其实我一直怀疑我的编译器有问题,我是图简单随便下载了一个免安装的,然后就一直出现类似问题。谢谢大神
2017-09-27 21:24
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:3 

#include <stdio.h>
#include <string.h>

void main()
{
    int i,j;
    char list[30];
    struct candidate
    {
        char name[20];
        int count;
    } student[4] = {{"n1",0},{"n2",0},{"n3",0},{"n4",0}};
    for(i=0; i<10; i++)
    {
        printf("请输入候选人名:");
        scanf("%s",list);
        for(j=0; j<4; j++)
            if(strcmp(list, student[j].name)==0)
                ++student[j].count;
    }
    for(i=0; i<4; i++)
    {
        printf("%s的选票数为:%d\n",student[i].name,student[i].count);
    }
}
2017-09-28 05:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-480994-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.586579 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved