| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 317 人关注过本帖
标题:数组统计
只看楼主 加入收藏
mai526625501
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-4-4
结帖率:66.67%
收藏
已结贴  问题点数:0 回复次数:2 
数组统计
从键盘输入一个大于0的实数,存入一个数组中(输入小于等于0的数,数据输入过程结束),
统计并输出其中大于等于平均值的实数个数

下面是我写的,可是不知道错在哪里了

#include <stdio.h>
void main()
{
    float a[50],t,sum,avr,f,x,n;int i,k;
printf("输入实数");
s1:scanf("%d",&a[i];);if(&a[i]>0) {n++;
sum=0.0;
sum=sum+&a[i];goto s1;}
avr=sum/n;
f=0;
for(i=0;i<=n;i++)
if(a[i]<avr)
{f=1;break;}
if(f)
{for(k=i+1;k<n-1;k++)
a[k-1]=a[k];
n--;
}

printf("%4d",n;)
}

[ 本帖最后由 mai526625501 于 2011-4-9 14:36 编辑 ]
搜索更多相关主题的帖子: 统计 键盘 include 平均值 
2011-04-09 14:06
ljt
Rank: 6Rank: 6
等 级:侠之大者
威 望:3
帖 子:191
专家分:431
注 册:2009-4-6
收藏
得分:0 
干嘛?
2011-04-09 14:31
紫凤双飞
Rank: 2
等 级:论坛游民
帖 子:76
专家分:61
注 册:2011-3-26
收藏
得分:10 
以下是引用mai526625501在2011-4-9 14:06:52的发言:

从键盘输入一个大于0的实数,存入一个数组中(输入小于等于0的数,数据输入过程结束),
统计并输出其中大于等于平均值的实数个数

下面是我写的,可是不知道错在哪里了

#include <stdio.h>
void main()
{
    float a[50],t,sum,avr,f,x,n;int i,k;
printf("输入实数");
s1:scanf("%d",&a;);if(&a>0) {n++;
sum=0.0;
sum=sum+&a;goto s1;}
avr=sum/n;
f=0;
for(i=0;i<=n;i++)
if(a<avr)
{f=1;break;}
if(f)
{for(k=i+1;k<n-1;k++)
a[k-1]=a[k];
n--;
}

printf("%4d",n;)
}

这儿不需要取地址 float类型要用%f读入 而且最好不要用 goto 来实现循环
程序代码:
#include<stdio.h>
void main()
{
    float a[50],s;
    int num=0,i=0,j;
    printf("请输入一个实数,要停止请输入一个小于等于0的数\n");
    do
    {
        scanf("%f",&a[i]);
        ++i;
    }while(a[i-1]>0);
    for(j=0;j<i-1;++j)
        s+=a[j];
    s/=(i-1);
    for(j=0;j<i-1;++j)
        if(a[j]>s)
            num++;
    printf("大于平均值%f的个数为:%d\n",s,num);
}
2011-04-09 19:37
快速回复:数组统计
数据加载中...
 
   



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

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