| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 742 人关注过本帖
标题:求解原因:运行程序为什么结果总是0?
只看楼主 加入收藏
玄迷我心
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-4-25
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:10 
求解原因:运行程序为什么结果总是0?
首先输入一个整数T,表示一共有T组数据 0<T<=10。
 
接下来每行一个字母x(x为'a'-'z'或者‘A’-'Z')。
 
然后下面一行输入一个字符串s(0<s的长度<1000)。
 
统计这个字母在这个字符串中出现的次数。
我是这样编的:

 #include<stdio.h>
#include<conio.h>
#include<string.h>
int main()
{
    int T,n,l,k,m;
    char i;
    char s[1000];
    scanf("%d",&T);
    if(T>10||T<=0)printf("wrong");
    else
    {
        for(m=0;m<T;m++)
        {
                        n=0;
                        scanf("%c",&i);
                        getchar();
                        scanf("%s",s);
                        l=strlen(s);
                        for(k=0;k<l;k++)
                        if(s[k]==i)n++;
                        printf("%d\n",n);
                        
        }
    }
    getch();
}


搜索更多相关主题的帖子: 字母 运行程序 include 字符串 
2013-04-25 18:01
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:3 
                        scanf("%c",&i);
                        getchar();
                        scanf("%s",s);
一个循环里面怎么这么多读取函数?

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2013-04-25 18:45
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:3 
if(s[k]==i)n++;问题就是这一句,这样写不对,

Maybe
2013-04-25 19:11
我叫沃恩
Rank: 12Rank: 12Rank: 12
来 自:Asia
等 级:贵宾
威 望:10
帖 子:1234
专家分:3865
注 册:2013-3-29
收藏
得分:3 

因为我是菜鸟,所以应该被骂! 细节+坚持=成功!
2013-04-25 19:41
大秦
Rank: 1
等 级:新手上路
帖 子:2
专家分:5
注 册:2013-4-19
收藏
得分:3 
我也学c语言不久看了你的问题我调试了下知道错误在那几个连续输入函数的地方但我也不懂

不懂得就是我要学习的,所以我在网上搜索了一下,找到了一个写得最好的答案,我就不复制粘贴了。

这是链接http://

想之不做,做之不持,持之不志,欲其退,时欲去
2013-04-25 20:16
q215236213
Rank: 4
等 级:业余侠客
威 望:1
帖 子:148
专家分:276
注 册:2012-7-24
收藏
得分:3 
问题出现在这里,第一次输入数字的时候  scanf("%d",&T);  默认后面会有个结束符,导致后面的 scanf("%c",&i); 输入的是一个结束符!
应该在 scanf("%d",&T);  之后,加一个 getchar();
2013-04-25 20:40
q215236213
Rank: 4
等 级:业余侠客
威 望:1
帖 子:148
专家分:276
注 册:2012-7-24
收藏
得分:0 
个人总觉得,你可以自己试着调试,在每一个scanf之后 再printf一下,这样就可以看出是在哪里出了问题!
2013-04-25 20:41
玄迷我心
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-4-25
收藏
得分:0 
回复 6楼 q215236213
不对啊,加了getchar()之后运行结果还是不对,只有第一次循环的结果是对的,后面还是0
2013-04-26 08:45
玄迷我心
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-4-25
收藏
得分:0 
回复 3楼 邓士林
为什么不对?那应该怎么该???
2013-04-26 08:49
zhangxiaojia
Rank: 1
等 级:新手上路
帖 子:4
专家分:8
注 册:2013-3-24
收藏
得分:3 
回复 5楼 大秦
好东西,学习了!!
2013-04-26 09:25
快速回复:求解原因:运行程序为什么结果总是0?
数据加载中...
 
   



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

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