c语言 c++

2025-02-25 03:41:05
推荐回答(5个)
回答1:

#include "stdio.h"

int i,j;

void main()

{     int fen[10];

      float sum,ave,max,min;

      double sum1(float fen[10]);

      float ave1(float fen[10]);

      float max1(float fen[10]);

      float min1(float fen[10]);

 printf(" ***说明***\n");

 printf("程序运行时,每输入一个成绩回车一次,当输入第十个成绩回车后,即得出结果!\n\n\n");

    printf("请依次输入每位学生的成绩:\n");

 for(i=0;i<10;i++)

   scanf("%f",&fen[i]);

   /*    printf("输入十名学生的成绩如下:\n");

 for(i=0;i<10;i++)

       printf("%.1f  ",fen[i]); 

      printf("\n");  */

         sum=sum1(fen);

      printf("总分是%.3f \n",sum);

    max= max1(fen);

     printf("最高分是%.1f\n ",max);

    min= min1(fen);

     printf("最高分是%.1f\n ",min);

      ave=ave1(fen);

     printf("平均成绩是%.2f\n ",ave);  

}

double sum1(float fen[10])

{

     float sum=0;

  int i;

     for(i=0;i<10;i++)

     sum=sum+fen[i];

      return sum;

}

float ave1(float fen[10])

{  

    float sum=0,ave1;

 int i;

   for(i=0;i<10;i++)

    sum=sum+fen[i];

   ave1=sum/10;

   return ave1;

}

float max1(float fen[10])

{    float a;

     int i;

     a=fen[0];

 for(i=0;i<10;i++)

  if(a

  a=fen[i];

  return a;

}

float min1(float fen[10])

{  

     int i;

    float b=fen[0];

 for(i=0;i<10;i++)

  if(b>fen[i])

  b=fen[i];

  return b;

}

用一维数组就能做出来啦!

上面是给你看的,希望对你有帮助!

在VC++6.0环境下运行没问题。

回答2:

#include

#include

#define N 5

int main(void)

{

    int shuju[N][N], h, s, zong = 0, gao = 0, di;

    

    for ( s = 0; s < N; s++){

        printf("请输入同学%d成绩:", s + 1);

        

        for ( h = 0; h < N ; h++)

            scanf("%d", &shuju[h][s]);

    }

    

    printf("      学生  总分  平均分\n");

    for ( s = 0; s < N; s++){

        printf("%8d", s+1); 

        for ( h= 0; h < N; h++){

            zong += shuju[h][s];

        }

        printf("%8d%8.2f\n" ,zong ,(float)zong / N);          

        zong = 0; 

    }

    

    printf("科目 平均分 高分 低分\n");

    

    for ( h = 0; h < N; h++){

        printf("%d", h+1);

        di = shuju[0][s];

        for (s = 0; s < N; s++){

            zong += shuju[h][s];

            if (gao < shuju[h][s])

               gao = shuju[h][s];

            if (di > shuju[h][s]) 

               di = shuju[h][s];

        }

        printf("%8.2f%8d%8d\n",(float)zong / N, gao, di);

        zong = 0;

        gao = 0 ;

        di = 0 ; 

        

        

        

    }  

    

              

            

    

    

    system("pause");

    return 0; 

}

回答3:

#include

int main(void){
int i,max,min;
int score[10];
double sum,average;
sum =0;

printf("请输入10 个学生的成绩:\n");
for(i=0;i<10;i++)
scanf("%d",&score[i]);

for(i=0;i<10;i++){
sum =sum+score[i];
}
average = sum/10 ;
//下面是对求最大分数和最小分数
max =score[0];
min =score[0];
for(i=1;i<10;i++){ //求最大值
if(max max=score[i];
}
for(i=1;i<10;i++){//求分数的最小值
if(min>score[i])
min=score[i];
}

printf("总分sum=%lf 平均分average=%lf \n",sum,average);
printf("最高分max=%d 最低分min=%d\n",max,min);

return 0;
}
下面是运行结果:
请输入10 个学生的成绩:
1 2 3 4 5 6 7 8 9 10
总分sum=55.000000 平均分average=5.500000
最高分max=10 最低分min=1
Press any key to continue

回答4:

一楼回答的很好了,我只是做了一下小小的修改,可能界面会更好一点。
int main()
{
float sc[10];
float min,max,avg,sum=0.0;
int i =0;
printf("Please input %d student 's score:\n",i+1);

for(i =0;i<10;i++)
{
scanf("%f",&sc[i]);
if(i==0)
{
min=max=sc[0];
}
if(sc[i]>max)
max = sc[i];
if(sc[i] min = sc[i];
sum = sum + sc[i];
}
avg = sum/10.0;
printf("总成绩%5.2f、平均成绩%5.2f、最高分%5.2f和最低分%5.2f",sum,avg,max,min);
return 0;
}

回答5:

运行效果:
Please input 1 student 's score:
1
Please input 2 student 's score:
2
Please input 3 student 's score:
3
Please input 4 student 's score:
4
Please input 5 student 's score:
5
Please input 6 student 's score:
6
Please input 7 student 's score:
7
Please input 8 student 's score:
8
Please input 9 student 's score:
9
Please input 10 student 's score:
10
总成绩55.000000、平均成绩5.500000、最高分10.000000和最低分1.000000
void main()
{
float sc[10];
float min,max,avg,sum=0.0;
int i =0;
for(i =0;i<10;i++)
{
printf("Please input %d student 's score:\n",i+1);
scanf("%f",&sc[i]);
if(i==0)
{
min=max=sc[0];
}
if(sc[i]>max)
max = sc[i];
if(sc[i] min = sc[i];
sum = sum + sc[i];
}
avg = sum/10.0;
printf("总成绩%f、平均成绩%f、最高分%f和最低分%f",sum,avg,max,min);
}