注:90及90分以上为优秀,优秀率:100*(优秀的人数/总人数)可以定义一个二维数组,循环输入成绩,统计并输出统计结果。平均成绩用浮点数组定义,输出1位小数,优秀率用浮点数组定义,输出2位小数。
望采纳,谢谢
#include <stdio.h>
int main() {
int n = 10;
float scores[n][3];
float averages[n], excellent_rates[3];
// 循环输入成绩
for (int i = 0; i < n; i++) {
printf("请输入第 %d 名学生的高等数学、英语、物理课成绩:\n", i+1);
scanf("%f%f%f", &scores[i][0], &scores[i][1], &scores[i][2]);
// 计算平均成绩
averages[i] = (scores[i][0] + scores[i][1] + scores[i][2]) / 3.0;
}
// 统计优秀率
int excellent_counts[3] = {0, 0, 0};
for (int i = 0; i < n; i++) {
if (scores[i][0] >= 90) {
excellent_counts[0]++;
}
if (scores[i][1] >= 90) {
excellent_counts[1]++;
}
if (scores[i][2] >= 90) {
excellent_counts[2]++;
}
}
excellent_rates[0] = excellent_counts[0] * 100.0 / n;
excellent_rates[1] = excellent_counts[1] * 100.0 / n;
excellent_rates[2] = excellent_counts[2] * 100.0 / n;
// 输出结果
printf("\n");
printf("学号\t高等数学\t英语\t物理\t平均成绩\n");
for (int i = 0; i < n; i++) {
printf("%d\t%.1f\t\t%.1f\t%.1f\t%.1f\n", i+1, scores[i][0], scores[i][1], scores[i][2], averages[i]);
}
printf("\n");
printf("优秀率:高等数学 %.2f%%,英语 %.2f%%,物理 %.2f%%\n", excellent_rates[0], excellent_rates[1], excellent_rates[2]);
return 0;
}
# include <stdio.h>
# include <math.h>
int main()
{
int x,y;
printf("请输入一个小于1000的正整数:");
scanf("%d",&x);
printf("%d\n",x);
if(x>1000){
printf("请重新输入:");
scanf("%d",&x);
}
y=sqrt(x);
printf("%d平方根为:%d",x,y);
return 0;
}
不懂请留言,谢谢!