在main()函数中定义数组,调用函数将本人学生姓名输出100次;输出所有成绩对应的等级,统计并输出其中优秀的成绩数
时间: 2024-03-17 21:46:01 浏览: 25
以下是一个使用C语言编写的程序,可以实现将学生姓名输出100次、输出成绩对应等级并统计优秀成绩数量的功能:
```c
#include <stdio.h>
void Fwrite(int n, char *name) {
FILE *fp;
int i;
fp = fopen("output.txt", "w");
if (fp == NULL) {
printf("File open error!\n");
return;
}
for (i = 0; i < n; i++) {
fprintf(fp, "%s\n", name);
}
fclose(fp);
}
void fun1(int mark) {
if (mark >= 90 && mark <= 100) {
printf("等级为 A\n");
} else if (mark >= 80 && mark < 90) {
printf("等级为 B\n");
} else if (mark >= 70 && mark < 80) {
printf("等级为 C\n");
} else if (mark >= 60 && mark < 70) {
printf("等级为 D\n");
} else if (mark >= 0 && mark < 60) {
printf("等级为 E\n");
} else {
printf("无效成绩\n");
}
}
int fun2(int a[], int n) {
int count = 0; // 计数器,初始值为0
int i;
for (i = 0; i < n; i++) {
if (a[i] >= 90) {
count++; // 如果成绩大于等于90,计数器加1
}
}
return count; // 返回优秀成绩的数量
}
int main() {
char name[] = "张三";
int i, count;
int marks[] = {85, 90, 92, 78, 95, 88, 91, 86};
int n = sizeof(marks) / sizeof(int); // 获取数组长度
Fwrite(100, name); // 将姓名输出100次
for (i = 0; i < n; i++) {
printf("成绩为 %d,", marks[i]);
fun1(marks[i]); // 输出成绩对应的等级
}
count = fun2(marks, n); // 统计优秀成绩的数量
printf("优秀成绩的数量为:%d\n", count);
return 0;
}
```
在这个程序中,我们首先在主函数中定义一个包含8个成绩的整型数组marks[],并且定义一个字符数组name[]表示学生姓名。然后,我们调用Fwrite函数将该学生的姓名输出100次。接着,我们使用for循环遍历成绩数组marks[],并且调用fun1函数输出每个成绩对应的等级。最后,我们调用fun2函数统计优秀成绩的数量并输出。
注意:在使用该程序之前,需要先包含stdio.h头文件。