| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1843 人关注过本帖
标题:C自学,自己编写的代码,也和网上的比对了,但是程序没法正常运行。求老司机 ...
只看楼主 加入收藏
wangjiayou
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2017-6-25
结帖率:75%
收藏
 问题点数:0 回复次数:9 
C自学,自己编写的代码,也和网上的比对了,但是程序没法正常运行。求老司机帮忙!谢谢了!
代码如下:

//  读取整数,知道用户输入0;打印输入的偶数个数(不包括0;这些偶数的平均值;输入的奇数个数以及奇数个数的平均值。     //
#include<stdio.h>
#include<stdlib.h>
#define TWO 2
int main(void)
{
    int num, count_odd=0, count_even=0, sum_odd=0, sum_even=0;
    printf("输入整数,并以0结束:\n");
    scanf("%d", &num);
    while(num != '0')
    {
        if(num == 0)
            break;
        if(num % TWO == 0)
        {
            count_even++;
            sum_even+=num;   
        }
        else
        {
            count_odd++;
            sum_odd+=num;   
        }
        printf("请继续输入下一个整数:\n");
        scanf("%d", &num);
    }
    printf("%d %d\n", count_even, (float)sum_even / count_even);
    printf("%d %d\n", count_odd, (float)sum_odd / count_odd);
   
    system("pause");
    return 0;
}
搜索更多相关主题的帖子: 自学 代码 输入 num printf 
2017-07-20 08:02
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
while(num != '0')
%d格式为啥要加个单引号~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-07-20 08:11
zxq1998
Rank: 2
等 级:论坛游民
帖 子:19
专家分:11
注 册:2016-10-5
收藏
得分:0 
回复 楼主 wangjiayou
楼主的编译器可能有问题
2017-07-20 09:18
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
程序代码:
#include<stdio.h>
#include<stdlib.h>
#define TWO 2
int main(void)
{
    int num, count_odd=0, count_even=0, sum_odd=0, sum_even=0;
    printf("输入整数,并以0结束:\n");
    scanf("%d", &num);
    while(num != '0')//while中的判断条件是多余的,因此在代码块中已经存在跳出循环的条件判断,因此,这里直接写成一个死循环 while( 1 )
    {//没有调试,但目测改掉 num != '0' 应该就可以了。
        if(num == 0)//至于你的代码是否存在语意错误,没有细看,不得而知。好吧 num != '0' 貌似就是语意错误。
            break;
        if(num % TWO == 0)
        {
            count_even++;
            sum_even+=num;    
        }
        else
        {
            count_odd++;
            sum_odd+=num;    
        }
        printf("请继续输入下一个整数:\n");
        scanf("%d", &num);
    }
    printf("%d %d\n", count_even, (float)sum_even / count_even);
    printf("%d %d\n", count_odd, (float)sum_odd / count_odd);
    
    system("pause");
    return 0;
}

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-07-20 17:12
Christian_Zh
Rank: 2
等 级:论坛游民
威 望:1
帖 子:7
专家分:24
注 册:2017-7-20
收藏
得分:0 
最后一步求平均值错了 应该以浮点数形式输出吧
还有 num != '0'好像不合适
直接 num != 0 就好了
然后把循环体内第一个if删去
2017-07-20 17:32
wangjiayou
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2017-6-25
收藏
得分:0 
回复 2楼 九转星河
谢谢
2017-07-21 07:49
wangjiayou
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2017-6-25
收藏
得分:0 
回复 4楼 renkejun1942
谢谢。感觉自己还是有点鱼,木有入门。。
2017-07-21 07:54
wangjiayou
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2017-6-25
收藏
得分:0 
回复 5楼 Christian_Zh
谢谢。
2017-07-21 12:02
wangjiayou
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2017-6-25
收藏
得分:0 
回复 2楼 九转星河
谢谢,确实是蠢了,
2017-07-21 12:29
wangjiayou
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2017-6-25
收藏
得分:0 
回复 3楼 zxq1998
谢谢。我已经解决了。
2017-07-21 12:29
快速回复:C自学,自己编写的代码,也和网上的比对了,但是程序没法正常运行。求 ...
数据加载中...
 
   



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

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