第1关:大小写转换
任务要求
编写程序,实现从键盘输入一个字符,如果是小写字母,将其转化为相对应的大写字母并输出至屏幕。
输入要求
输入一个字符ch
输出要求
如果字符ch
是小写字母,输出其对应的大写字母;否则原样输出。
#include<stdio.h>
int main()
{
char ch = 0;
scanf("%c",&ch);
if (ch>=97)
ch = ch - 32;
printf("%c",ch);
return 0;
}
第2关:分数等级
编写程序,实现从键盘输入一个百分制的学生分数,判断并输出该分数的等级。要求:用switch语句实现。
成绩 | 等级 |
---|---|
90-100 | A |
80-89 | B |
70-79 | C |
60-69 | D |
0-59 | E |
<0或者>100 | error |
输入要求
输入一个整数score
,表示该学生的成绩。
输出要求
根据转换规则输出成绩score
对应的等级。
#include<stdio.h>
int main()
{
int score = 0;
scanf("%d",&score);
if(score<0||score>100)
printf("error");
else
switch(score/10)
{
case 9:
case 10:
printf("%c",'A');
break;
case 8:
printf("%c",'B');
break;
case 7:
printf("%c",'C');
break;
case 6:
printf("%c",'D');
break;
default:
printf("%c",'E');
}
return 0;
}
第3关:求三角形面积
任务要求
编写程序,实现计算三角形面积。(提示:s=(a+b+c)/2
;面积S=sqrt(s*(s-a)*(s-b)*(s-c))
;其中a
、b
、c
为三角形三个边)。
输入要求
输入三个正整数a
、b
和c
,分别表示三角形各边的边长。
输出要求
如果可以构成三角形,输出三角形的面积S
。结果保留两位小数,否则输出-1
。
输入样例
3 4 5
输出样例
6.00
//根据题目要求完成程序设计
#include<stdio.h>
#include<math.h>
int main()
{
int a = 0;
int b = 0;
int c = 0;
scanf("%d%d%d",&a,&b,&c);
if (a+b>c&&a+c>b&&b+c>a)
{
double s =(a+b+c)*1.0/2;
printf("%.2f",sqrt(s*(s-a)*(s-b)*(s-c)));
}
else
printf("%d",EOF);
return 0;
}
第4关:方程求解
任务要求
编写程序,实现求解方程ax2+bx+c=0
方程的解。
输入要求
输入三个整数,分别代表a
、b
以及c
的值。
输出要求
如果方程有实数解,则输出x
的结果(保留两位小数),否则输出-1
。注意:如果方程有多个解,结果按照从小到大输出;如果方程求无穷组解,则输出1
。
输入样例1
1 -2 1
输出样例1
1.00 1.00
输入样例2
1 1 1
输出样例1
-1
//根据题目要求完成程序设计
#include<stdio.h>
#include<math.h>
int main ()
{
int a = 0;
int b = 0;
int c = 0;
scanf("%d%d%d",&a,&b,&c);
if (a == 0&&b!=0)
printf("%.2f",-c*1.0/b);
else if (a==0&&b==0&&c==0)
printf("%d",1);
else if (a==0&&b==0&&c!=0)
printf("-1");
else
{
double delt = b*b - 4*a*c;
if (delt<0)
printf("%d",EOF);
else
{
double x1 =(-b+sqrt(delt)*1.0)/(2*a);
double x2 =(-b-sqrt(delt)*1.0)/(2*a);
if(x1>x2)
{
double tmp = x1;
x1 = x2;
x2 = tmp;
}
printf("%.2f\n%.2f",x1,x2);
}
}
return 0;
}