1、小乐乐输入百分制成绩,他想将成绩转换成等级制。转换规则为:90-100为’A’,80-89为’B’,70-79为’C’,60-69为’D’,59以下为’E’。如果输入的成绩不在0-100之间,输出’F’。
#include <stdio.h>
int main()
{
int grade;
scanf_s("%d", &grade);
if (0 <= grade && grade <= 100)/*首先对成绩做出判断不在此范围的输出'F'*/
{
switch (grade / 10) /* 这里可以得到每个成绩十位数字大小,可以简化代码*/
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5: /*因为题目要求59之下都是E,所以case1-5不用加break*/
printf("E");
break;/*输出后要记得加break否则就停不下来了*/
case 6:
printf("D");
break;
case 7:
printf("C");
break;
case 8:
printf("B");
break;
case 9:
case 10:
printf("A");
break;
}
}
else /*不在0-100的成绩直接输出F*/
printf("F");
}
2、输入n个成绩,换行输出n个成绩中最高分数和最低分数的差。
#include <stdio.h>
#define M 10000/*定义数组范围*/
int main()
{
int a[M], n, MAX, MIN;
scanf_s("%d\n", &n);
for (int i = 0; i < n; i++)
{
scanf_s("%d", &a[i]);
}
MAX = a[0];/*将最大值最小值初始化然后逐一与每个成绩比较*/
MIN = a[0];
for (int i = 0; i < n; i++)/*让初始值与每个比较,如果大就给MAX附上a[i]的值,遍历数组*/
{
if (MAX < a[i])
MAX = a[i];
}
for (int i = 0; i < n; i++)/*与求最大值同理,这里让MIN初值与每个值比较,如果大于a[i],就给MIN附上a[i]的值,遍历数组得到最小值*/
{
if (MIN > a[i])
MIN = a[i];
}
printf("%d", MAX - MIN);
return 0;
}
大家多多支持૮(˶ᵔ ᵕ ᵔ˶)ა!不同的方法互相交流交流噢⁽⁽ ( ´͈ ᗨ `͈ ) ⁾⁾