我新手 求各位大神 帮解决这题
c++吧
全部回复
仅看楼主
level 1
wwarfdpj 楼主
//1、求任意一个学生5门课程的最高分,最低分,平均分,升序排列后的结果!
#include<stdio.h>
#define N 5
int biggest(int b[],int n)
{
int max,i;
max=b[0];
for(i=1;i<n;i++)
if(max<b[i])
max=b[i];
return max;
}
int smallest(int b[],int n)
{
int min,i;
min=b[0];
for(i=1;i<n;i++)
if(min>b[i])
min=b[i];
return min;
}
int ave(int b[],int n)
{
}
void sort(int b[],int n)
{
int i,j,t;
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(b[j]>b[j+1])
{
t=b[j];
b[j]=b[j+1];
//b[]
}
}
void menu()
{
printf("********************************\n");
printf("1、求出最高分\n");
printf("2、求出最低分\n");
printf("3、求出平均分\n");
printf("4、排序\n");
printf("********************************\n");
printf("请输入你的选择\n");
}
void main( )
{
int a[N],choice,i;
//接收成绩
printf("请输入5门课的成绩\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
menu();
scanf("%d",&choice);
switch(choice)
{
case 1:printf("最大值为%d\n",biggest(a,N));break;
case 2:printf("最小值为%d\n",smallest(a,N ));break;
case 3:ave(a,N);
case 4:sort(a,N);
}
}
2014年03月11日 05点03分 1
level 1
wwarfdpj 楼主
平均值 不会写 还有最后那case 3,case 4不会
2014年03月11日 05点03分 2
level 6
不要碰到问题就问别人,要学会自己解决。
2014年03月11日 06点03分 4
哦 我自删
2014年03月11日 06点03分
至少楼主认真学了,不像你个sb这么冷漠,谁都是从新手来的,谁规定新手就什么都要自己学,现在有个人帮助他更快的了解知识,从而解决问题,这样,兴奋感会使他更加喜欢编程。觉得它很有趣,被你这b说的一句话,让他觉得这个c++很难,这样对楼主好么?
2014年03月11日 14点03分
我见不得那些b,自己会些,有人问他问题,他就显得不耐烦,就是不愿教你,这种人我看什么出息都没有! 知识都是在大家的探讨下得到更深一步的理解。。像层主你这b 我看一辈子就是给人打工的命,不知道帮助别人,你这么冷漠,你爸妈知道么?
2014年03月11日 14点03分
level 6
int ave(int b[],int n)
{
int sum =0;
int ave1;
for(int i=0;i<n;i++)
{
sum+=b[i];
}
ave1=sum/5;
return ave1;
}
2014年03月11日 14点03分 5
level 6
@wwarfdpj
那个平均数ave1最好是double类型的,平均数的时候难免有小数,
case 3:printf("平均值为%d\n",ave(a,N));break;
case 4://我想你那个void sort(int b[],int n) 应该把形参改成引用参数,即void sort(int &b[],int n)这样实参和形参的地址是一样的 ,当你这形参改变时,你相对应的实参a[]也会跟着变化。即完成了要求。case 4 你要写的内容只要把数组a[]的元素都输出出来就行了,因为这些元素已经在sort()函数完成了排序。
我也是没学这个多久,希望我的回答能帮助你!
2014年03月11日 14点03分 6
level 6
@wwarfdpj
大家都加油,去帮助那些需要帮助的人。让他们都能学会。
2014年03月11日 14点03分 7
谢谢!
2014年03月12日 02点03分
1