问题 D: 【函数 数组 指针 】分数转换成等级

文章详细描述了一个C++程序,用于将5个成绩映射为字母等级,通过分数段划分(0-100)实现,输出格式为字符数组。
摘要由CSDN通过智能技术生成

题目描述

将输入的5个成绩转换成对应的等级输出

输入

输入5个成绩值

输出

输出5个字符等级,用空格分隔

样例输入

90 80 70 60 50

样例输出

A B C D E

代码如下

#include<stdio.h>
void initarray(int a[]);
void pntarray(char b[]);
void scoremap(int inscore[],char outscore[]);
int main()
{
	int in[5],i;
	char out [5];
	initarray(in);//调用函数输入成绩
	scoremap(in,out);//调用函数将数字转化为字符	
    
     pntarray(out);//调用函数输出字符
}
void initarray(int a[])
{
	int i;
	for(i=0;i<5;i++)
	scanf("%d",&a[i]);
}
void scoremap(int inscore[],char outscore[])
{
	int i;
	char *p=outscore;//定义指针并初始化使之指向字符数组
	//给成绩分等级循环五次意思是输出五个成绩判断他的等级
	for(i=0;i<5;i++)
	{
		switch(inscore[i]/10)
		{
			case 10:
				case 9:p[i]='A';break;
				case 8:p[i]='B';break;
				case 7:p[i]='C';break;
				case 6:p[i]='D';break;
				case 5:
				case 4:
					case 3:
						case 2:
							case 1:
								case 0:p[i]='E';break;
								default :printf("error\n");break;
		}
	}
}
void pntarray(char b[])
{
	int i=0;
	for(i=0;i<5;i++)
	{
		printf("%c ",b[i]);
	}
}

 需要注意的是:

1.void scoremap(int inscore[],char outscore[]);
转换结果,注意outscore数组要用p 指针访问,使用指针将其地址保存起来

2.分数是0-100  如果写五个分数那就只能判断那个分段的等级 ,但一般情况是1-100的分值

3.switch 函数切记不要忘记break;

  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值