C语言 提示用户输入百分制成绩,将其转换为等级成绩A、B、C、D和F

目录

题目

题目(1)思路

题目(1)运行结果

 题目(1)源代码

题目(2)思路

题目(2)运行结果

题目(2)源代码

 


题目

1、提示用户输入百分制成绩,将其转换为等级成绩A、B、C、D和F。分数为[90,100]时等级成绩为A,[80,90)为B,[70,80)为C,[60,70)为D,60以下为F。

如果用户未输入0~100之间的有效成绩,给出出错信息。

2、更进一步,实现可以重复输入,直到输入某个值退出。

题目(1)思路

1、提示用户输入一个百分制的成绩,也就是0~100的整数;并把这个数存到一个变量grade中;

2、用 if()对grade进行筛选,对于小于0或大于100的数据,输出错误信息,退出;

3、用switch()对grade的值进行选择;

可见当0<grade≤10时,grade/10=0.几,但是因为grade是整形数据,运算后不保留小数点后数据,则grade/10=0;

10<grade≤20时,grade/10=1;

20<grade≤30时,grade/10=2;

其他区间类似;

4、在switch()的每一条case语句中, 执行相应的printf()内容;

题目(1)运行结果

 

 

 

 

 

 

 题目(1)源代码

#include<stdio.h>

int main(){
	int grade=-1;
	printf("请输入一个百分制整数成绩:");
	scanf("%d", &grade);
	
	if(grade<0 || grade>100){
		printf(" 分数无效!");
		return 1; 
	}

	switch(grade/10){
		case 9:case 10:
			printf(" A");
			break;
		case 8:
			printf(" B");
			break;
		case 7:
			printf(" C");
			break;
		case 6:
			printf(" D");
			break;
		default:
			printf(" E");
			break;
	}
	
	return 0;
}

题目(2)思路

要重复输入,就是说要加一个循环;这个循环里,要有题目1代码的所有功能;

题目(2)运行结果

 

题目(2)源代码

putchar(‘A’);和 printf(“A”);是一样的,只是后者能输出字符串,前者只能输出一个字符;

我这里只需要输出一个字符,所以把代码改写成putchar()了;

#include<stdio.h>

int main(){
	int a;
	
	do{
		printf("\n请输入一个百分制分数:\n");
		scanf("%d", &a);
		if(90<=a && a<=100)
			putchar('A');
		else if(80<=a && a<90)
			putchar('B');
		else if(70<=a && a<80)
			putchar('C');
		else if(60<=a && a<70)
			putchar('D');
		else if(0<=a && a<60)
			putchar('E');
		else{
			printf("无效分数!退出!\n");
			break;
		} 	
	}while(1);
	return 0;
}

  • 3
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值