慕码人9509864
2018-11-22 20:53
#include <stdio.h>
int main()
{
int score[N]={67,98,75,63,82,79,81,91,66,84};
int total = fun1(score);
int max = fun2(score);
int min = fun4(score);
int average = total/10;
fun3(score);
printf("%d",max);
printf("%d",min);
printf("%d",total);
printf("%d",average);
return 0;
}
int fun1(int score[]){
int total = 0;
for(int i=0;i<10;i++){
total += score[i];
}
return total;
}
int fun2(int score[]){
int max;
for(int i=0;i<9;i++){
if(score[i]>max){
max = score[i];
}
}
return max;
}
int fun4(int score[]){
int min;
for(int i=0;i<9;i++){
if(score[i]<min){
min = score[i];
}
}
return min;
}
void fun3(int score[]){
for(int i=8;i>=0;i--){
for(int j=0;j<=i;j++){
if(score[j]<score[j+1]){
int temp;
temp=score[j];
score[j]=score[j+1];
score[j+1]=temp;
}
}
}
for(int i=0;i<10;i++){
printf("%d ",score[i]);
}
}
求最大值、最小值等几个函数判断循环结束的条件应该为i<10或i<=9
必须先声明函数,然后才能调用函数,而且数组里的N是不用加的,放在编译器里是错误的,因为N并未声明,慕课网的代码运行有一点问题,换成下边在编译器运行是可以的,希望可以帮助到你。
#include <stdio.h>
int fun1(int score[]){
int total = 0;
for(int i=0;i<10;i++)
{
total += score[i];
}
return total;
}
int fun2(int score[]){
int max=score[0];
for(int i=0;i<9;i++)
{
if(score[i]>max)
{
max = score[i];
}
}
return max;
}
int fun4(int score[]){
int min=score[0];
for(int i=0;i<9;i++){
if(score[i]<min){
min = score[i];
}
}
return min;
}
void fun3(int score[]){
for(int i=8;i>=0;i--){
for(int j=0;j<=i;j++){
if(score[j]<score[j+1]){
int temp;
temp=score[j];
score[j]=score[j+1];
score[j+1]=temp;
}
}
}
for(int i=0;i<10;i++){
printf("%d ",score[i]);
}
printf("\n");
}
int main()
{
int score[]={67,98,75,63,82,79,81,91,66,84};
int total = fun1(score);
int max = fun2(score);
int min = fun4(score);
int average = total/10;
fun3(score);
printf("%d\n",max);
printf("%d\n",min);
printf("%d\n",total);
printf("%d\n",average);
return 0;
}
除了循环条件外,还有在函数实现的时候int score[N]是不对的,改成int score[]就好了
C语言入门
926021 学习 · 20793 问题
相似问题