目录
题干
题目描述
输入一个正整数 repeat,做repeat 次下列运算:
输入 2 个整数begin 和end,分别代表摄氏温度的起止值,输出该范围内摄氏温度C 和华
氏温度F 的转换表。
F = 32 + C * 9 / 5
输入
见sample
输出
对于每组测试
首先输出一行“Celsius Fahrenheit”
然后每行一个摄氏温度,接着是一个华氏温度(华氏温度占10个字符的宽度)
样例输入
1
5 7
样例输出
Celsius Fahrenheit
5 41(这里5和41中间有空格,下面同理)
6 42
7 44
源代码
#include<stdio.h>
int main()
{
int repeat,begin,end,c,f;
scanf("%d",&repeat);
while(repeat--)
{
scanf("%d%d",&begin,&end);
printf("Celsius Fahrenheit\n");
for(int j=begin;j<=end;j++) //这里用了一个循环来输出表格
{
c=j;
f=32+c*9/5;
printf("%d%10d\n",c,f);
}
}
return 0;
}
//ENDING
解题思路
这道题的大致思路有不懂的请访问
>>>> ZCMU——1063: 华氏温度转换为摄氏温度<<<<
而这里大家如果仔细看的话会发现
printf("%d%10d\n",c,f); //我们知道浮点型函数可以%后加 .2 , .3 ,等等
而在整型变量输出时在%后加数字有什么用呢
让我们来猜一下
如果
int a=1;
printf("%2d\n",a);
这样会输出什么?
输出:”(空格 )1 ”
那
int a=1;
printf("%5d\n",a);
会输出什么呢?
输出:”(空格)(空格)(空格)(空格)1 ”
哈哈,有趣吗?
那么问题又来了
int a=1000;
printf("%2d\n",a);
这样会输出什么呢?
输出” 0 0 “吗?
不是的!!!
还是输出” 1000 ”
在%后面加几就空出几位来放数字,没有数字的就用空来填充
那么如果不用(空格)来填充,用” 0 “呢?
那就这么写
int a=1;
printf("%05d\n",a);
这样就会输出:” 0 0 0 0 1 “啦!
[完]
希望你能喜欢这道题还有我的解题思路!!!
如有问题请留言,谢谢!!!