| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 607 人关注过本帖
标题:新手求助!!!
只看楼主 加入收藏
super311
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2010-6-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
新手求助!!!
程序代码:
main()
{
    int i,num,sum=0;
    for(i=1;i<=10;i++)
    {
        scanf("%d",&num);
        if(num>0)
            sum+=num;
        if(num==999)
            break;
    }
    printf("%d",sum);
    getch();
}
这段程序必须输入10个数字才会输出结果,我想:输入的数只要不要超过10个,就能输出结果,怎么改???

[ 本帖最后由 super311 于 2010-7-22 11:33 编辑 ]
2010-07-22 11:32
qingmeisu200
Rank: 4
等 级:业余侠客
帖 子:113
专家分:215
注 册:2010-3-16
收藏
得分:6 
#include <stdio.h>
int main(void)
{
    int i,num,sum=0;
    for(i=1;i<=10;i++)
    {
        scanf("%d",&num);
        if(num>0)
            sum+=num;
        if(num==999)
            break;
        printf("%d",sum);
    }
     getch();
    return 0;
}

我能!
2010-07-22 11:43
erikyo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:270
专家分:1154
注 册:2010-6-10
收藏
得分:0 
不是太明白你的意思,按照我的理解改了一下!
#include <stdio.h>
int main(void)
{
    int i,num,sum=0;
    int count = 0;
    printf("please enter the number you want to sum!\n");
    scanf("%d",&count);

    printf("please enter the number to sum!\n");
    for(i=0 ; i < count ; i++)
    {
        scanf("%d",&num);
        if(num>0)
            sum+=num;

        if(num==999)
            break;
        printf("%d\n",sum);
    }
    return 0;
}
2010-07-22 12:07
super311
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2010-6-25
收藏
得分:0 
PS:比方说我输入1 2 3 输出结果应该是6   ;而不是136。
    而按照我的程序执行,输入1 2 3 是不输出的
2010-07-22 12:15
erikyo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:270
专家分:1154
注 册:2010-6-10
收藏
得分:6 
回复 4楼 super311
程序是无法判断你什么时候想结束的,所以你必须给程序一个结束的信息。
不然他怎么知道你是想在输入3的时候输出,还是输入5的时候输出啊~
2010-07-22 12:45
ggyy4k
Rank: 5Rank: 5
等 级:职业侠客
帖 子:111
专家分:334
注 册:2010-6-28
收藏
得分:6 
回复 楼主 super311
看楼主的意思,是要输入数字个数小于10并求和,那就要在for循环里设置跳出条件,比如输入0结束、或加入int j;scanf("%d",&j);for(i=1;i<=j;i++)控制语句

[ 本帖最后由 ggyy4k 于 2010-7-22 12:57 编辑 ]
2010-07-22 12:52
super311
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2010-6-25
收藏
得分:0 
程序代码:
main()
{
    int i,num,sum=0;
    for(i=1;i<=10;i++)
    {
        scanf("%d",&num);
        if(num>0)
            sum+=num;
        if(num==999)
            break;
    }
    printf("%d",sum);
    getch();
}
刚才是我没有理解透彻,我这个程序是正确的,当我输入1 2 3 想执行程序时,只需要在后面输入999 结束循环就可以了,谢谢诸位啦
2010-07-22 13:15
freezesoul
Rank: 2
等 级:论坛游民
帖 子:47
专家分:38
注 册:2010-3-13
收藏
得分:0 
main()
{
    int i,num,sum=0,n;
    printf("input n:");
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d",&num);
        if(num>0)
            sum+=num;
        if(num==999)
            break;
    }
    printf("%d",sum);
    getch();
}

    printf("input n:");
    scanf("%d",&n);
 n告诉电脑 自己要输入的是几个数..
2010-07-22 15:00
a279742336
Rank: 2
等 级:论坛游民
帖 子:36
专家分:24
注 册:2010-7-20
收藏
得分:0 
main()
{
    int i,num,sum=0;
    for(i=1;i<=10;i++)
    {
        scanf("%d",&num);
        if(num>0)
            sum+=num;
        if(num==0)
            break;
    }
    printf("%d",sum);
    getch();
}

结束按 0 然后回车  OK
2010-07-22 23:26
快速回复:新手求助!!!
数据加载中...
 
   



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

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