作業:
編程計算10個同學某門課程的平均分,并輸出最高分
uj5u.com熱心網友回復:
int i,num=10;int scroe[10]={98,90,90,89,87,67,19,100,99,89};
int allscore=0;
imt maxscore=0;
float aver;
for(i=0;i<num;i++)
{
allscore+=score[i];
if(score[i]>maxscroe)
maxscroe=score[i];
}
aver=(float)allscore/(float)num;
printf(aver);
printf(maxscore);
沒除錯,大概意思
uj5u.com熱心網友回復:
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#include<math.h>
void stu_aver(double(*a)[6]) {//計算學生平均成績
double sum;
int i, j;
for (i = 0; i < 10; ++i) {
sum = 0.0;
for (j = 0; j < 5; ++j) {
sum += a[i][j];
}
a[i][5] = sum / 5;
}
}
void score_aver(double(*a)[6]) {//科目平均成績
double sum;
int i, j;
for (i = 0; i < 5; ++i) {
sum = 0.0;
for (j = 0; j < 10; ++j) {
sum += a[j][i];
}
a[10][i] = sum / 10;
}
}
void top_score(char(*c)[20], char(*s)[20], double(*a)[6]) {//科目最高
int row, col, i, j, flag;
double top;
printf("\n單科最高分\n");
printf("科目\t分數\t學生\n");
for (i = 0; i < 5; ++i) {
row = 0;
col = i;
top = a[0][i];
flag = 0;
for (j = 0; j < 10; ++j) {
if (a[j][i] > top) {
top = a[j][i];
row = j;
}
}
printf("%s\t%.2f\t%s\t", c[i], top, s[row]);
for (j = 0; j < 10; ++j) {
if (a[j][i] == top) {
if (flag > 1) {
printf("%s\t", s[j]);
}
++flag;
}
}
putchar('\n');
}
}
double viriance(double(*a)[6]) {//方差
double x1 = 0;
double x2 = 0;
int i;
for (i = 0; i < 10; ++i) {
x1 += a[i][6];
x2 += pow(a[i][6], 2);
}
return x2 / 10 - pow(x1 / 10, 2);
}
void input(char(*c)[20], char(*s)[20], double(*a)[6]) {//輸入
int i, j;
for (i = 0; i < 5; ++i) {
printf("請輸入第%d門課的課程名\n", i + 1);
scanf("%s", c[i]);
}
for (i = 0; i < 10; ++i) {
printf("請輸入第%d名學生的姓名\n", i + 1);
scanf("%s", s[i]);
for (j = 0; j < 5; ++j) {
printf("請輸入這名學生的成績\n");
scanf("%lf", &a[i][j]);
}
}
system("cls");
}
void print(char(*c)[20], char(*s)[20], double(*a)[6]) {//列印
int i, j;
putchar('\t');
for (i = 0; i < 5; ++i) {
printf("%s\t", c[i]);
}
printf("平均成績");
for (i = 0; i < 10; ++i) {
printf("\n%s\t", s[i]);
for (j = 0; j < 6; ++j) {
printf("%.2f\t", a[i][j]);
}
}
printf("\n\n課程\n平均分\t");
for (j = 0; j < 5; ++j) {
printf("%.2f\t", a[i][j]);
}
putchar('\n');
}
int main() {
char c[5][20];//課程名字
char s[10][20];//學生姓名
double a[11][6];//學生成績
input(c, s, a);//輸入
stu_aver(a);//學生平均成績
score_aver(a);//課程平均成績
print(c, s, a);//列印
top_score(c, s, a);//課程最高分
printf("方差為:%f\n", viriance(a));//方差
system("pause");
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/11048.html
標籤:基礎類
下一篇:想問問這個怎么解決
