输入2个正整数lower
和upper
(lower
≤upper
≤100),请输出一张取值范围为[lower
,upper
]、且每次增加2华氏度的华氏-摄氏温度转换表。
温度转换的计算公式:C=5×(F−32)/9,其中:C表示摄氏温度,F表示华氏温度。
输入格式:
在一行中输入2个整数,分别表示lower
和upper
的值,中间用空格分开。
输出格式:
第一行输出:"fahr celsius"
接着每行输出一个华氏温度fahr(整型)与一个摄氏温度celsius(占据6个字符宽度,靠右对齐,保留1位小数)。
若输入的范围不合法,则输出"Invalid."。
输入样例1:
32 35
结尾无空行
输出样例1:
fahr celsius
32 0.0
34 1.1
结尾无空行
输入样例2:
40 30
输出样例2:
Invalid.
此题目个人觉得不是很难,主要有两个注意点:
1.题中占据6个字符宽度,靠右对齐该如何编写,不考虑此问题边界条件等会出现格式错误;
2.输入正确后,按照笔者对于题目的理解,输出最后一组数据应该没有空行(实际对于通过测试没有影响)。
#include<stdio.h>
int main()
{
int x = 0;
int y = 0;
scanf("%d %d",&x,&y);
if((x <= y)&&(y <= 100))//完全按照题目中的不等式要求
{
printf("fahr celsius\n");
while(x<=y)
{
if((x+2)<=y)
{
printf("%d%6.1f\n",x,5*(x-32)/9.0);//此处if判断用于保证最后一行的输出不会空出一行
}
else
{
printf("%d%6.1f",x,5*(x-32)/9.0);
}
x=x+2;
}
}
else
{
printf("Invalid.");
}
return 0;
}
结果:
提交时间 | 状态 | 分数 | 题目 | 编译器 | 耗时 | 用户 |
---|---|---|---|---|---|---|
2021/08/17 16:04:06 | 答案正确 | 15 | 编程题 | C (gcc) | 8 ms |
测试点 | 提示 | 结果 | 分数 | 耗时 | 内存 |
---|---|---|---|---|---|
0 | sample 1,结尾不到达upper | 答案正确 | 7 | 6 ms | 188 KB |
1 | sample 2,不合法数据 | 答案正确 | 1 | 7 ms | 184 KB |
2 | 最大范围 | 答案正确 | 3 | 4 ms | 192 KB |
3 | 最大边界点 | 答案正确 | 2 | 3 ms | 188 KB |
4 | 最小边界点 | 答案正确 | 2 | 8 ms | 192 KB |