标题:请大家帮我修改一下这个程序 谢谢啦 请大家帮帮忙
只看楼主
陈凤伟
Rank: 1
来 自:四川
等 级:新手上路
帖 子:23
专家分:2
注 册:2011-5-26
结帖率:100%
已结贴  问题点数:20 回复次数:8 
请大家帮我修改一下这个程序 谢谢啦 请大家帮帮忙
从键盘输入6个同学计算机课程期末考试成绩,并统计出平均分、最高分、最低分,以及统计超过平均分的人数,并实现正确输出。


#include<stdio.h>
#define m 5
int maxindex(int nArr[],int n)
{
 int index=n-1;
 for(n--;n>0;n--) index=(nArr[index]>=nArr[n])?index:n;
 return index;
}
int minindex(int nArr[],int n)
{
    int index=n-1;
 for(n--;n>=0;n--) index=(nArr[index]>=nArr[n])?n:index;
 return index;
}
float average(int nArr[],int n)
{
 float ave;
 ave=(nArr[0]+nArr[1]+nArr[2]+nArr[3]+nArr[4]+nArr[5])/6;
 return ave;
}
void counting(int nArr[],int n,int nresult[])
{
 int i,j=0;
 float ave;
 for(i=0;nArr[i]>ave;i++) j+=1;
 return;
}

int main()
{
    float arr[m];
    float max,min,average;
    int number;
    printf("please input 6 numbers::\n");
    scanf("%f,%f,%f,%f,%f,%f",&arr[0],&arr[1],&arr[2],&arr[3],&arr[4],&arr[5]);
    max=maxindex(arr);
    min=maxindex(arr);
    average=averag(arr);
    number=counting(arr);
    printf("the max result is::%d\n",max);
    printf("the min result is::%d\n",min);
    printf("the average result is::%d\n",average);
    printf("the number of uppper average is::%d\n",number);
    return 0;
}
搜索更多相关主题的帖子: 考试成绩 计算机 return index 键盘 
2011-05-26 13:11
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
得分:0 
这种问题用计算器要快点。

My life is brilliant
2011-05-26 13:42
brian1994
Rank: 2
来 自:广东省中山市一中
等 级:论坛游民
帖 子:63
专家分:47
注 册:2011-5-15
得分:5 
第5行
for(n--;n>0;n--) index=(nArr[index]>=nArr[n])?index:n;
应该改为n>=0
2011-05-26 13:44
Toomj
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:257
专家分:1826
注 册:2011-5-17
得分:15 
int maxindex(int nArr[],int n)
max=maxindex(arr);
楼主,全是函数调用问题啊~~~~
该是:int maxindex(float nArr[],int n)
max=maxindex(arr,6)
2011-05-26 15:13
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
得分:0 
这东西练结构体都没用到  自己调试去吧

                                         
===========深入<----------------->浅出============
2011-05-26 15:54
陈凤伟
Rank: 1
来 自:四川
等 级:新手上路
帖 子:23
专家分:2
注 册:2011-5-26
得分:0 
回复 5楼 laoyang103
我还在刚学习c语言   嘿嘿   不过多谢指教哈
2011-05-26 16:45
陈凤伟
Rank: 1
来 自:四川
等 级:新手上路
帖 子:23
专家分:2
注 册:2011-5-26
得分:0 
回复 4楼 Toomj
嗯  好的   我去试试哈 谢谢
2011-05-26 16:46
陈凤伟
Rank: 1
来 自:四川
等 级:新手上路
帖 子:23
专家分:2
注 册:2011-5-26
得分:0 
回复 2楼 lz1091914999
我是刚开始学习c语言   在练字阶段  嘿嘿
2011-05-26 16:49
陈凤伟
Rank: 1
来 自:四川
等 级:新手上路
帖 子:23
专家分:2
注 册:2011-5-26
得分:0 
回复 4楼 Toomj
请你帮我看一下   修改之后怎么还有两个错误   还有   error C2198: “counting”: 用于调用的参数太少  error C2120: 对于所有类型“void”非法   还有  怎么会有那么多警告  怎么消除警告 谢谢哈  
#include<stdio.h>
 #define m 5
 int maxindex(int nArr[],int n)
 {
 int index=n-1;
 for(n--;n>=0;n--) index=(nArr[index]>=nArr[n])?index:n;
 return index;
 }
 int minindex(int nArr[],int n)
 {
     int index=n-1;
 for(n--;n>=0;n--) index=(nArr[index]>=nArr[n])?n:index;
 return index;
 }
 float average(int nArr[],int n)
 {
 float ave;
 ave=(nArr[0]+nArr[1]+nArr[2]+nArr[3]+nArr[4]+nArr[5])/6;
 return ave;
 }
 void counting(int nArr[],int n,int nresult[])
 {
 int i,j=0;
 float ave;
 for(i=0;nArr[i]>ave;i++) j+=1;
 return;
 }
 
int main()
 {
     float arr[m];
     float max,min,average;
     int number;
     printf("please input 6 numbers::\n");
     scanf("%f,%f,%f,%f,%f,%f",&arr[0],&arr[1],&arr[2],&arr[3],&arr[4],&arr[5]);
     max=maxindex(arr,6);
     min=maxindex(arr,6);
     average=averag(arr);
     number=counting(arr,6);
     printf("the max result is::%d\n",max);
     printf("the min result is::%d\n",min);
     printf("the average result is::%d\n",average);
     printf("the number of uppper average is::%d\n",number);
     return 0;
 }
2011-05-27 14:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-341033-1-1.html




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

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