| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 870 人关注过本帖
标题:求解一道C语言初级题目
只看楼主 加入收藏
雪落Z
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-11-5
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
求解一道C语言初级题目
本人刚刚接触C语言,有这样一道题目,编写一个C语言程序,要求实现的功能为:从键盘上输入一行带有英文字母的任意字符串,假定该字符串的长度不超过50,试统计出该串中所包含的每一种字母a、b、c、d的个数(字母大小写等效),并分行依次输出,每行的输出格式为“字母:个数”,如假定字母a的个数为3,则输出格式为“a: 3”。提示:请在for循环内使用switch语句分别进行字母个数的统计,代码如下:
#include<stdio.h>
int main()
{
    char s[50];
    int num_a,num_b,num_c;
    num_a=0;
    num_b=0;
    num_c=0;
    int i=0;
    do
    {
        scanf("%c",&s[i]);
        i++;
    }
    while(s[i-1]!='\n');
    s[i+1]='\0';
    for(i=0;s[i]!='\0';i++)
    {
        switch(s[i])
        {
        case'a':num_a++;break;
        case'A':num_a++;break;
        case'b':num_b++;break;
        case'B':num_b++;break;
        case'c':num_c++;break;
        case'C':num_c++;break;
        }
    }
    printf("a:%d\n",num_a);
    printf("b:%d\n",num_b);
    printf("c:%d\n",num_c);
    return 0;
}
但是在VC6.0上调试出现了如下错误:main.c
e:\c语言形成性考核\xkzy2\main.c(9) : error C2143: syntax error : missing ';' before 'type'
e:\c语言形成性考核\xkzy2\main.c(12) : error C2065: 'i' : undeclared identifier
执行 cl.exe 时出错.
请大侠赐教!~~~
搜索更多相关主题的帖子: 字符串 C语言 include 英文字母 
2012-11-05 21:47
rongwin
Rank: 1
等 级:新手上路
帖 子:14
专家分:5
注 册:2012-10-28
收藏
得分:0 
亲,该不会是你的软件出现了错误还是你打印少了什么呢?你这个编程在我的VC6.0是正确的啊
2012-11-05 22:04
tomcaroline
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-9-26
收藏
得分:0 
亲,你的循环输入怎么停止输入啊?
2012-11-05 22:11
hfhf2006
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:62
专家分:169
注 册:2012-6-29
收藏
得分:20 
回复 楼主 雪落Z
修改如下,请看绿色注释说明,在vc++6.0调试通过
程序代码:
#include<stdio.h>
int main()
{
    char s[50];
    int num_a,num_b,num_c;
    int i=0;/*请将该句放在下面三句赋值语句之前,即当前位置*/
    num_a=0;
    num_b=0;
    num_c=0;
    do
    {
        scanf("%c",&s[i]);
        i++;
    } while(s[i-1]!='\n');
    s[i+1]='\0';
    for(i=0;s[i]!='\0';i++)
    {
        switch(s[i])
        {
        case'a':num_a++;break;
        case'A':num_a++;break;
        case'b':num_b++;break;
        case'B':num_b++;break;
        case'c':num_c++;break;
        case'C':num_c++;break;
        }
    }
    printf("a:%d\n",num_a);
    printf("b:%d\n",num_b);
    printf("c:%d\n",num_c);
    return 0;
}

 
2012-11-05 22:20
锋了
Rank: 7Rank: 7Rank: 7
来 自:向日葵幼儿园
等 级:黑侠
威 望:2
帖 子:306
专家分:586
注 册:2012-10-27
收藏
得分:0 
在我的VC中没有问题,可能是你的编译器问题,或者环境没有调好,试下别的编译器看
2012-11-05 22:23
浅唱我的Time
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:98
专家分:562
注 册:2012-9-24
收藏
得分:0 
四楼那样的才是正解,,可是不改我在win-tc却也能运行
2012-11-05 22:29
雪落Z
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-11-5
收藏
得分:0 
回复 4楼 hfhf2006
多谢大侠~
2012-11-06 19:21
快速回复:求解一道C语言初级题目
数据加载中...
 
   



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

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