c – 将整数转换为字母字符

前端之家收集整理的这篇文章主要介绍了c – 将整数转换为字母字符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想根据考试成绩分配成绩.

> A为90-100.
> B为80-89.
> C为70-79.
> D为60-69.
> F为0-59.

我知道如果你使用switch或if..else语句,会有不超过5个语句,但是任何人都有更好的解决方案吗?

我使用ASCII值来解决它,但就代码行而言,它只是相同的.

这是代码

score/=10;
score=min(9,score);
score=9-score;
score+=65;
if(score<=68)
{
  cout<<static_cast<char>(score)<<endl;
}
else
{
   cout<<"F"<<endl;
}

解决方法

在输入选择数量有限的情况下,标准方法是使用查找表:
cout << "FFFFFFDCBAA"[score/10];

Demo.

(from comments) could you please explain what’s going on in the code?

字符串文字“FFFFFFDCBAA”被视为const char *指针,它允许应用indexer []运算符.分数以整数除以10,产生0到10之间的数字,包括0和10.字符串中的11个字符对应于“原始”分数的字母等级除以10.

猜你在找的C&C++相关文章