c语言、编写一个程序,可以将百分制转为对应等级, 90~100----A+++++80~89----B++++70~79----C++60~69----D
时间: 2023-11-23 11:08:22 浏览: 56
以下是将百分制成绩转换为五分制成绩的C语言程序:
```c
#include <stdio.h>
int main() {
int i, n, score;
int a = 0, b = 0, c = 0, d = 0, e = 0;
scanf("%d", &n);
for(i = 0; i < n; i++) {
scanf("%d", &score);
if(score >= 90) {
a++;
} else if(score < 90 && score >= 80) {
b++;
} else if(score < 80 && score >= 70) {
c++;
} else if(score < 70 && score >= 60) {
d++;
} else {
e++;
}
}
printf("%d %d %d %d %d\n", a, b, c, d, e);
return 0;
}
```
相关问题
编写一个1+2+3+----+100的汇编程序
根据提供的引用内容,我们可以看出这个问题需要用汇编语言来编写一个计算1+2+3+...+n的程序。由于没有具体指定使用哪种汇编语言,这里我将使用x86汇编语言来编写这个程序。
以下是计算1+2+3+...+100的x86汇编程序:
```assembly
section .data
sum db 0 ; 存储计算结果
section .text
global _start
_start:
mov ecx, 100 ; 将100存储到ecx寄存器中
mov ebx, 1 ; 将1存储到ebx寄存器中
mov [sum], byte 0 ; 将0存储到sum变量中
loop_start:
add [sum], ebx ; 将ebx寄存器中的值加到sum变量中
add ebx, 1 ; 将ebx寄存器中的值加1
loop loop_start ; 循环执行loop_start标签处的指令,直到ecx寄存器中的值为0
; 输出计算结果
mov eax, 4 ; 将4存储到eax寄存器中,表示sys_write系统调用
mov ebx, 1 ; 将1存储到ebx寄存器中,表示stdout文件描述符
mov ecx, sum ; 将sum变量的地址存储到ecx寄存器中
mov edx, 1 ; 将1存储到edx寄存器中,表示输出1个字节
int 0x80 ; 调用系统调用
; 退出程序
mov eax, 1 ; 将1存储到eax寄存器中,表示sys_exit系统调用
xor ebx, ebx ; 将0存储到ebx寄存器中,表示程序正常退出
int 0x80 ; 调用系统调用
```
运行上述程序后,将输出5050,即1+2+3+...+100的结果。
--相关问题--:
1. 如何在C语言中计算1+2+3+...+n?
2. x86汇编语言
用c语言编写程序计算1-3+5-7+……-99+101
下面是使用C语言编写的程序,可以计算1-3+5-7+……-99+101的结果:
```c
#include <stdio.h>
int main() {
int sum = 0;
int sign = 1;
int i = 1;
while (i <= 101) {
sum += sign * i;
sign = -sign;
i += 2;
}
printf("1-3+5-7+……-99+101 = %d\n", sum);
return 0;
}
```
程序中的变量`sum`用于记录求和结果,变量`sign`用于记录当前项的符号(1表示正号,-1表示负号),变量`i`表示当前项的值。程序使用`while`循环遍历每一项,并按照题目要求对求和结果进行累加。最终输出结果。