| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 493 人关注过本帖
标题:关于如何输入数值的 问题
只看楼主 加入收藏
经哥
Rank: 3Rank: 3
来 自:代码空间
等 级:论坛游侠
威 望:1
帖 子:289
专家分:124
注 册:2012-9-8
收藏
得分:0 
回复 8楼 天剑山
话说怎么改啊?

我只是个演员,还是业余的!!
2012-10-12 21:50
菜鸟一支
Rank: 6Rank: 6
来 自:何美杭
等 级:侠之大者
威 望:1
帖 子:121
专家分:456
注 册:2012-10-10
收藏
得分:3 
首先楼主是想求一串数中偶数的平均值对吧?
应该这样输入:
先输入n的值;
再回车;
再输入这一串数字(注意:这串数字的输入要用空格隔开)
输入完毕后再回车
如:
4
1 2 3 4 5 6
3.000000Press any key to continue
(因为n=4;所以系统只检索1 2 3 4)

小弟何美杭,所发表的都仅代表个人观点,欢迎批评指正。
2012-10-12 22:09
菜鸟一支
Rank: 6Rank: 6
来 自:何美杭
等 级:侠之大者
威 望:1
帖 子:121
专家分:456
注 册:2012-10-10
收藏
得分:0 
然后楼主的程序可以这样改:
#include <stdio.h>
void main()
{float average=0;
int n,i,count=0,p=0;
scanf("%d",&n);
do
{scanf("%d",&i);
{if(i%2==0)
{average+=(float)i;
count++;}
p++;
}
}while(p<=n);
average=average/count;
printf("%f",average);
}

小弟何美杭,所发表的都仅代表个人观点,欢迎批评指正。
2012-10-12 22:22
阿伟学编程
Rank: 1
等 级:新手上路
帖 子:4
专家分:2
注 册:2012-10-12
收藏
得分:3 
#include <stdio.h>
void main()
{
    int a=0,c=0, b=0;
    int n,i;
    scanf("%d",&n);
   do
{
    scanf("%d",&i);
    if(i%2==0)
    {
      b+=i;
      a++;}
    c++;
}     while(c<n);
(float)(b=b/a);
printf("%d\n",b);
}
这个在你基础上改的,我运行过,可以,你试试。。。。

兴趣是第一老师
2012-10-12 22:54
经哥
Rank: 3Rank: 3
来 自:代码空间
等 级:论坛游侠
威 望:1
帖 子:289
专家分:124
注 册:2012-9-8
收藏
得分:0 
回复 12楼 菜鸟一支
图片附件: 游客没有浏览图片的权限,请 登录注册
结果是这样啊

我只是个演员,还是业余的!!
2012-10-12 23:37
经哥
Rank: 3Rank: 3
来 自:代码空间
等 级:论坛游侠
威 望:1
帖 子:289
专家分:124
注 册:2012-9-8
收藏
得分:0 
回复 14楼 阿伟学编程
你跟我那个没什么区别啊,大概是一样的,为什么我的就是运行结果就是不同呢。

我只是个演员,还是业余的!!
2012-10-12 23:41
经哥
Rank: 3Rank: 3
来 自:代码空间
等 级:论坛游侠
威 望:1
帖 子:289
专家分:124
注 册:2012-9-8
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
这样呢,对了吧??

我只是个演员,还是业余的!!
2012-10-12 23:47
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:3 
像盲眼苍蝇一样乱碰。观察了你几天,最大的毛病在于心浮气躁,不肯看书打基础就急于动手写程序,无法表达自己的思想。

授人以渔,不授人以鱼。
2012-10-12 23:53
Y影子Z
Rank: 3Rank: 3
来 自:石家庄
等 级:论坛游侠
帖 子:54
专家分:110
注 册:2012-10-12
收藏
得分:3 
while的条件有问题,应该改成(count<n)因为count是从0开始的,如果从0到n就成了n+1个数,如果是(count++<=n),那么每次判断的时候count都会加1,这样count所保存的数值就多于你所输入的数据中的偶数的个数,所以程序会提前结束,再有,最后的输出,average是float类型的,应该用%f,count改成int类型的最好,当然不改也没事。do..while中的scanf后面的一对大括号可以省略,if跟的两句要用大括号括起来。这样应该就没什么问题了吧……(个人感觉do...while不如for看着清晰但举一反三的精神我很钦佩啊)

有光明必然会有黑暗,而影子,就是光明与黑暗的缝隙
2012-10-13 00:19
阿伟学编程
Rank: 1
等 级:新手上路
帖 子:4
专家分:2
注 册:2012-10-12
收藏
得分:0 
回复 16楼 经哥
你要认真研究一下,不是大概一样,你的do while循环的条件控制有问题,自己对照着找出毛病,。。。。。

兴趣是第一老师
2012-10-14 21:03
快速回复:关于如何输入数值的 问题
数据加载中...
 
   



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

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