吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4087|回复: 11
收起左侧

[C&C++ 转载] 函数

[复制链接]
zhanglangabce 发表于 2013-8-16 00:15
求大神指点哪里错了,这个程序我调试没错误,,但是不出结果呀。。题目是下面
设有一个数组,,从放某单位20名职员的年龄信息,要求写函数,对其进行处理,,使得得到平均年龄小于30岁的,30到50岁间的,和50岁以上的年龄人数,并且求年龄的平均值。。。
#include<stdio.h>
long aver(int arry[],int n)
{
        int i;
        float av,sum=0;
        for(i=1;i<=n;i++)
        {
        sum=sum+arry[i];}
        av=sum/n;
        return av;
}
int you(int arry[],int n)
        {
int y=0,i;
if (arry[i]<30)
        y++;
return y;
        }
int mid(int arry[],int n)
        {
int m=0,i;
if(arry[i]<50&&arry[i]>=30)
        m++;
return m;
        }
int ol(int arry[],int n)
        {
int o=0,i;
if(arry[i]>=50)
o++;
return o;
        }

void main()
{
        int i,young,midle,old,age[20];
        float m;
        for(i=1;i<=20;i++)
        scanf("%d",&age[20]);
        m=aver(age,20);
        young=you(age,20);
        midle=mid(age,20);
        old=ol(age,20);
        printf("%f,%d,%d,%d\n",m,young,midle,old);
}


发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

1354669803 发表于 2013-8-16 00:16
又是C语言吗
 楼主| zhanglangabce 发表于 2013-8-16 00:17
1354669803 发表于 2013-8-16 00:16
又是C语言吗

是那个所说的c++
恋秋 发表于 2013-8-16 00:21
题目就有问题吧、、

使得得到平均年龄小于30岁的,
牛奶很好喝 发表于 2013-8-16 00:25
C++?
   现在也在学~
 楼主| zhanglangabce 发表于 2013-8-16 00:27
恋秋 发表于 2013-8-16 00:21
题目就有问题吧、、

使得得到平均年龄小于30岁的,

就是求这三个年龄段的人数,,并且求总人数年纪的平均值。。。。
艹123 发表于 2013-8-16 00:31
我估计声明函数原先还有放反了
马斯维尔 发表于 2013-8-16 01:09
for(i=1;i<=20;i++)
scanf("%d",&age[20]);
这个for循环写错了。获取20个职员数据的要用一个循环变量控制
另外你的 you  mid ol函数中 没有for循环怎么能统计?

不过你的程序写的不好啊。说3点吧
1.aver函数返回long类型  你定义的m为float
2..aver函数中变量av定义为float,而函数返回值为long类型
3.你在aver  you  mid ol 中使用了变量i 访问数组元素,记住一定要先初始化。aver中在for中初始化了也可以。

而且编程习惯不好。说4点吧
1.最好把main函数放前面, 之前写一些子过程的声明就好,大家首先关注的是main函数实现。
2.子过程的函数名应该要便于阅读,ol这样的函数名实在可读性太差,使用匈牙利命名法吧。
3.ol函数中你定义了 int o=0  这个是个写程序时候的大忌啊  本来0 和o就难分,还用来做变量。一般计数的话,定义为counter吧。
4.让main函数返回为int类型,而不是void。

具体程序自己修改吧。 关键提示都告诉你了,自己写出来的以后印象会深刻得多。

免费评分

参与人数 1热心值 +1 收起 理由
zhanglangabce + 1 我很赞同!

查看全部评分

 楼主| zhanglangabce 发表于 2013-8-16 12:40
马斯维尔 发表于 2013-8-16 01:09
for(i=1;i

大神,,多谢啦哈,,,还有有人告诉我用全局变量简单呀,,你怎么看。。。。。。求交流学习C的心得,,感觉自己没有掌握很好的方法。。。。。。。。。。。。
马斯维尔 发表于 2013-8-16 12:48
zhanglangabce 发表于 2013-8-16 12:40
大神,,多谢啦哈,,,还有有人告诉我用全局变量简单呀,,你怎么看。。。。。。求交流学习C的心得,,感 ...

我觉得就这样设计挺好的 模块化程序设计啊  
至于全局变量  我不喜欢  除非有必要用
学C 没什么捷径  看经典教材 照着多写。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-1 07:23

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表