| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 680 人关注过本帖
标题:一道作业题,郁闷死了,就是运行出错误,大家帮忙看看
只看楼主 加入收藏
soky
Rank: 4
等 级:业余侠客
帖 子:126
专家分:228
注 册:2009-7-13
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:8 
一道作业题,郁闷死了,就是运行出错误,大家帮忙看看
用户录入一系列字符或数字,求其中所有数字的积


#include<stdio.h>
void main()
{
    char ch;
    int num=1;
    printf("请输入一系列字符或数字:");
    for(ch=getchar();ch!='\n';ch=getchar())
    {
        if(ch>='0'&&ch<='9')
        num*=ch-48;
    }
    printf("这些数字的乘积为%d\n",num);
}
搜索更多相关主题的帖子: 作业 运行 
2009-07-21 10:26
lonmaor
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:郑州
等 级:版主
威 望:75
帖 子:2637
专家分:6423
注 册:2007-11-27
收藏
得分:5 
没发现错误呀
程序代码:
#include<stdio.h>
int main()
{
    char ch;
    int num=1;
    printf("请输入一系列字符或数字:");
    for(ch=getchar();ch!='\n';ch=getchar())
    {
        if(ch>='0'&&ch<='9')
        num*=(ch-'0');
    }
    printf("这些数字的乘积为%d\n",num);
    return 0;
}


用do-while循环更清晰一些
程序代码:
#include<stdio.h>
int main()
{
    char ch;
    int num=1;
    printf("请输入一系列字符或数字:");

    do
    {
        ch=getchar();
        if (ch>='0'&&ch<='9')
            num*=ch-48;
    }
    while (ch!='\n');

    printf("这些数字的乘积为%d\n",num);

    return 0;
}

收到的鲜花
  • soky2009-07-21 13:07 送鲜花  2朵   附言:谢谢

从不知道到知道,到知道自己不知道,成长的道路上脚步深深浅浅
2009-07-21 11:27
arthaszu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:90
专家分:163
注 册:2009-6-29
收藏
得分:3 
楼主,你怎么写的是 void main()
2楼已经给你改成int main() 了
他自己还没注意。
收到的鲜花
  • soky2009-07-21 13:07 送鲜花  1朵   附言:我很赞同

To  four  years  in  each  other's
2009-07-21 11:59
realfree
Rank: 2
等 级:论坛游民
帖 子:11
专家分:22
注 册:2009-6-20
收藏
得分:2 
没错啊
收到的鲜花
  • soky2009-07-21 13:08 送鲜花  1朵   附言:我很赞同
2009-07-21 12:07
soky
Rank: 4
等 级:业余侠客
帖 子:126
专家分:228
注 册:2009-7-13
收藏
得分:0 
刚让同学运行了下,发现的确没问题,我的VC++6.0坏了,晕死,让我弄了一早上。
现在改用codeblocks,没事了,谢谢大家了。
2009-07-21 13:06
xjy080
Rank: 2
等 级:论坛游民
帖 子:55
专家分:78
注 册:2008-9-15
收藏
得分:0 
楼主,有个问题问你下 对于你写的那个循环我不是很理解,自己改了下 但是运行不成功。请帮忙解释下
#include<stdio.h>
void main()
{
    char ch;
    printf("请输入一系列字符或数字:");
    for(ch=getchar();ch!='\n';ch=getchar())
        printf("%s\n",ch);
    }
2009-07-21 17:39
soky
Rank: 4
等 级:业余侠客
帖 子:126
专家分:228
注 册:2009-7-13
收藏
得分:0 
for语句中第一句就是对字符的输入,不管是数字还是字母还是‘,’都是字符,输入。
         第二句是对是否为回车的判断,如果是回车,证明这句结束,不用再输入了。
         第三句式循环到下一个字符,跟i++一样的效果。
这个的题目的意思是要输出所有输入数字的乘机,所以最后我是输出NUM。
2009-07-21 17:57
xjy080
Rank: 2
等 级:论坛游民
帖 子:55
专家分:78
注 册:2008-9-15
收藏
得分:0 
嗯,我开始也是这么猜的,但是你看一下我改的那个程序,好像是没有错啊 !但是运行的时候就是有问题!不知道原因!
2009-07-22 09:46
ljt0000mf
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:104
专家分:157
注 册:2009-7-4
收藏
得分:0 
CH是字符型,你要输入的是字符串型,还是CH,这里应该有问题
2009-07-22 14:31
快速回复:一道作业题,郁闷死了,就是运行出错误,大家帮忙看看
数据加载中...
 
   



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

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