帮忙做一下这个C语言程序,谢谢

2024-12-15 19:36:47
推荐回答(2个)
回答1:

学号:1024 语文:99 数学:98 总成绩:197
学号:1076 语文:97 数学:98 总成绩:195
学号:1000 语文:96 数学:98 总成绩:194
学号:1063 语文:96 数学:90 总成绩:186
学号:1034 语文:94 数学:84 总成绩:178
学号:1010 语文:85 数学:89 总成绩:174
学号:1068 语文:86 数学:87 总成绩:173
学号:1066 语文:93 数学:76 总成绩:169
学号:1074 语文:85 数学:75 总成绩:160
学号:1042 语文:85 数学:73 总成绩:158
学号:1086 语文:69 数学:86 总成绩:155
学号:1019 语文:81 数学:73 总成绩:154
学号:1081 语文:63 数学:90 总成绩:153
学号:1036 语文:70 数学:81 总成绩:151
学号:1027 语文:98 数学:50 总成绩:148
学号:1007 语文:100 数学:45 总成绩:145
学号:1094 语文:85 数学:58 总成绩:143
学号:1082 语文:92 数学:50 总成绩:142
学号:1057 语文:44 数学:97 总成绩:141
学号:1052 语文:100 数学:40 总成绩:140
学号:1058 语文:58 数学:80 总成绩:138
学号:1043 语文:74 数学:64 总成绩:138
学号:1040 语文:92 数学:46 总成绩:138
学号:1062 语文:42 数学:95 总成绩:137
学号:1072 语文:52 数学:83 总成绩:135
学号:1049 语文:78 数学:57 总成绩:135
学号:1041 语文:67 数学:68 总成绩:135
学号:1032 语文:37 数学:96 总成绩:133
学号:1038 语文:97 数学:35 总成绩:132
学号:1008 语文:84 数学:48 总成绩:132
学号:1037 语文:69 数学:62 总成绩:131
学号:1087 语文:71 数学:59 总成绩:130
学号:1001 语文:34 数学:93 总成绩:127
学号:1075 语文:77 数学:48 总成绩:125
学号:1096 语文:85 数学:39 总成绩:124
学号:1022 语文:91 数学:33 总成绩:124
学号:1061 语文:86 数学:35 总成绩:121
学号:1014 语文:69 数学:52 总成绩:121
学号:1011 语文:40 数学:80 总成绩:120
学号:1006 语文:98 数学:21 总成绩:119
学号:1017 语文:22 数学:96 总成绩:118
学号:1046 语文:75 数学:42 总成绩:117
学号:1026 语文:36 数学:81 总成绩:117
学号:1090 语文:95 数学:21 总成绩:116
学号:1085 语文:32 数学:81 总成绩:113
学号:1083 语文:40 数学:73 总成绩:113
学号:1054 语文:12 数学:99 总成绩:111
学号:1023 语文:13 数学:98 总成绩:111
学号:1064 语文:61 数学:48 总成绩:109
学号:1099 语文:23 数学:84 总成绩:107
学号:1065 语文:34 数学:72 总成绩:106
学号:1035 语文:46 数学:60 总成绩:106
学号:1029 语文:43 数学:63 总成绩:106
学号:1051 语文:86 数学:19 总成绩:105
学号:1095 语文:67 数学:35 总成绩:102
学号:1053 语文:48 数学:51 总成绩:99
学号:1044 语文:91 数学:5 总成绩:96
学号:1020 语文:24 数学:71 总成绩:95
学号:1091 语文:44 数学:50 总成绩:94
学号:1089 语文:31 数学:63 总成绩:94
学号:1005 语文:15 数学:79 总成绩:94
学号:1059 语文:43 数学:50 总成绩:93
学号:1097 语文:4 数学:88 总成绩:92
学号:1069 语文:21 数学:70 总成绩:91
学号:1015 语文:74 数学:17 总成绩:91
学号:1002 语文:26 数学:65 总成绩:91
学号:1079 语文:77 数学:13 总成绩:90
学号:1009 语文:21 数学:68 总成绩:89
学号:1067 语文:54 数学:34 总成绩:88
学号:1055 语文:30 数学:58 总成绩:88
学号:1080 语文:62 数学:22 总成绩:84
学号:1078 语文:49 数学:34 总成绩:83
学号:1047 语文:57 数学:25 总成绩:82
学号:1056 语文:20 数学:61 总成绩:81
学号:1048 语文:14 数学:65 总成绩:79
学号:1039 语文:66 数学:13 总成绩:79
学号:1092 语文:49 数学:29 总成绩:78
学号:1003 语文:56 数学:22 总成绩:78
学号:1088 语文:15 数学:59 总成绩:74
学号:1073 语文:37 数学:36 总成绩:73
学号:1077 语文:21 数学:47 总成绩:68
学号:1030 语文:34 数学:34 总成绩:68
学号:1071 语文:45 数学:18 总成绩:63
学号:1045 语文:61 数学:1 总成绩:62
学号:1021 语文:21 数学:38 总成绩:59
学号:1084 语文:19 数学:39 总成绩:58
学号:1050 语文:48 数学:10 总成绩:58
学号:1070 语文:36 数学:20 总成绩:56
学号:1031 语文:30 数学:26 总成绩:56
学号:1060 语文:28 数学:23 总成绩:51
学号:1013 语文:7 数学:43 总成绩:50
学号:1098 语文:15 数学:27 总成绩:42
学号:1028 语文:22 数学:12 总成绩:34
学号:1012 语文:9 数学:23 总成绩:32
学号:1093 语文:14 数学:16 总成绩:30
学号:1018 语文:6 数学:21 总成绩:27
学号:1004 语文:9 数学:6 总成绩:15
学号:1025 语文:2 数学:6 总成绩:8
学号:1016 语文:2 数学:6 总成绩:8
学号:1033 语文:2 数学:1 总成绩:3
Press any key to continue
#include
#include
#include

void ReadDat(int course1[], int course2[], int score[], int id[])
{
int tmpId = 1000, tmpScore = 0;
srand(time(0));//随机数种子,详见百度百科C语言随机数
for(int i = 1; i <= 100; i++)
{
tmpScore = (rand() % 100 + 1);
course1[i] = tmpScore;
tmpScore = (rand() % 100 + 1);
course2[i] = tmpScore;
score[i] = course1[i] + course2[i];
id[i] = tmpId++;
}
}
/*
插入排序法,维基百科的插入排序稍作修改
*/
void insertion_sort(int course1[], int course2[], int score[], int id[], int first, int last)
{
int i,j;
int tmpC1, tmpC2, tmpScore, tmpId;
for (i = first + 1; i <= last;i++)
{
tmpScore = score[i];
tmpId = id[i];
tmpC1 = course1[i];
tmpC2 = course2[i];
j=i-1;

while((j >= first) && (score[j] > tmpScore))
{
score[j+1] = score[j];
id[j+1] = id[j];
course1[j+1] = course1[j];
course2[j+1] = course2[j];
j--;
}
score[j+1] = tmpScore;
id[j+1] = tmpId;
course1[j+1] = tmpC1;
course2[j+1] = tmpC2;
}
}

void jsSort(int course1[], int course2[], int score[], int id[])//插入排序
{
insertion_sort(course1, course2, score, id, 1 ,100);
}

void WriteDat(int course1[], int course2[], int score[], int id[])
{
FILE *fp;//文件输出要使用的变量
fp = fopen("score.txt","w");//详见百度百科文件输入输出,这里w参数是写文件
for(int i = 100; i >= 1 ;i--)
{
printf("学号:%d 语文:%d 数学:%d 总成绩:%d\n", id[i], course1[i], course2[i], score[i]);//控制台输出
fprintf(fp,"学号:%d 语文:%d 数学:%d 总成绩:%d\n", id[i], course1[i], course2[i], score[i]); //文件输出
}
}

main()
{
int course1[105] = {0}, course2[105] = {0}, score[105] = {0}, id[105] = {0};
ReadDat(course1, course2, score, id);//构造分数表
jsSort(course1, course2, score, id);//插入排序法,详细请搜索百度百科“插入排序”
WriteDat(course1, course2, score, id);//控制台输出+文件输出
}

回答2:

亲,你看看这个可以么
1.构造成绩表,学号和成绩
2.你是什么要求呢
3.降序排列
4.输出到score.text

#include
#include
#include
#include

void ReadDat(int a[], int b[])
{
srand(time(0));
int score = 0;
for(int i = 1; i <= 100; i++)
{
score = (rand() % 100 + 1);
a[i] = score;
score = (rand() % 100 + 1);
b[i] = score;
}
}

void insertion_sort(int arrayA[], int arrayB[], unsigned int first, unsigned int last)
{
int i,j;
int tempA, tempB;
for (i = first + 1; i <= last;i++)
{
tempA = arrayA[i];
tempB = arrayB[i];
j=i-1;

while((j >= first) && (arrayA[j] > tempA))
{
arrayA[j+1] = arrayA[j];
arrayB[j+1] = arrayB[j];
j--;
}
arrayA[j+1] = tempA;
arrayB[j+1] = tempB;
}
}

void jsSort(int a[], int b[])//插入排序
{
insertion_sort(a, b, 1 ,100);
}

void WriteDat(int a[], int b[])
{
FILE *fp;
fp = fopen("score.txt","w");
for(int i = 100; i >= 1 ;i--)
{
printf("成绩:%d 学号:%d\n",a[i],b[i]);
fprintf(fp,"成绩:%d 学号:%d\n",a[i],b[i]);
}
}

int main()
{
int aa[105] = {0}, bb[105] = {0};
ReadDat(aa, bb);
jsSort(aa, bb);
WriteDat(aa, bb);
return 0;
}