#include
#include
#include
#define M 30
#define N 11
#define B " 学号 成绩1 成绩2 成绩3 成绩4 成绩5 成绩6 成绩7 成绩8 总分 合格"
// 预处理
int main()
{
int i,j;
int num_in;
int A[M][N]={0}; // 声明和定义数组A
printf("请输入班号(2223303或2223304):");scanf("%d",&num_in);
srand(num_in);
//在屏幕上显示未输入数据的数组A的内容
getchar();system("cls");
printf("\t\t%s\n\n%s\n\n","以下显示的为定义后未输入数据的空数组",B);
for(i=0;i<M;i++)
{printf("%-7d",A[i][0]);
for (j=1;j<N;j++)
printf("%6d",A[i][j]);
printf("\n"); }
printf("\n\n\t\t\t 按 Enter 键 开始数据输入\n\t\t\t并显示输入数据后的数组内容\n");getchar();system("cls");
for(i=0;i<M;i++) // 从原始数据文件读入数据,放到数组A中
{
A[i][0]=221900+rand()%100;
for (j=1;j<N-2;j++)
A[i][j]=30+rand()%70;
}
int ttt=0;
for(i=0;i<M;i++) // 从原始数据文件读入数据,放到数组A中
{
ttt=A[i][0];
for(j=i+1;j<M;j++){
if(A[j][0]==ttt) A[j][0]+=101;
}
}
printf("\t\t%s\n\n%s\n\n","以下显示的为输入数据后未求出总分的数组",B);
for(i=0;i<M;i++) // 在屏幕上显示输入数据后的数组A的内容
{printf("%-7d",A[i][0]);
for (j=1;j<N;j++)
printf("%6d",A[i][j]);
printf("\n"); }
// 在数组A中整理数据,既:求和 与 标记 合格否
printf("\n\n\t\t 按 Enter 键 开始计算 总分 与 合格否\n\t\t\t并显示计算后的数组内容\n");getchar();system("cls");
//任务一:在此处填写计算总分并判断是否合格的代码
//任务一:开始
//任务一:结束
// 在屏幕上显示计算后的数据
printf("\t\t%s\n\n%s\n\n","以下显示的为求出总分并标注合格与否的数组",B);
//任务二:在此处填写显示包含总分与是否合格的完整数据的代码
//任务二:开始
//任务二:结束
// 在屏幕上显示排序后的数据
printf("\n\n\t\t\t按 Enter 键 开始按 总分 排序\n\t\t\t 并显示排序后的数组内容\n");getchar();system("cls");
//任务三:在此处填写按总分由高到低进行排序的代码
//任务三:开始
//任务三:结束
printf("\t\t\t%s\n\n%s\n\n","以下显示的为排序后的数组",B);
//任务四:在此处填写显示排序后的完整数据的代码
//任务四:开始
//任务四:结束
printf("\n\n\t\t按 Enter 键 把总分520及以上的学生筛选出来\n\t\t\t 并显示他们的所有数据。 \n");getchar();system("cls");
printf("\t\t\t%s\n\n%s\n\n","以下显示的为筛选后的数组",B);
//任务五:在此处填写显示筛选后的数据的代码
//任务五:开始
//任务五:结束
printf("\n\n\t\t\t按 Enter 键 结束\n");getchar();system("cls");
return 0;
}
用数组储存总分,然后排序就行了呀,你是不懂怎么排序吗?