输入两个整数lower和upper,输出一张华氏-摄氏温度转换表,华氏温度取值范围是(lower,upper),每次增加2F,计算公式:c=5*(f-32)/9,其中c表示摄氏温度,f表示华氏温度。结果保留1位小数。若输入的第一个数比第二个数大,则输出Invalid Value!试编写相应程序。
供参考:
#include<stdio.h>
int main()
{
int lower,upper,d;
double c;
scanf("%d %d",&lower,&upper);
if(lower > upper)
{
printf("Invalid Value!\n");
}
else
{
printf("fahr celsius\n");
for(d = lower;d <= upper; d += 2)
{
c=5.0*(d-32)/9.0;
printf("%d %6.1lf\n",d,c);
}
}
return 0;
}
#include<stdio.h>
int main(){
int lower,upper;
scanf("%d %d",&lower,&upper);
if(lower > upper){
printf("Invalid Value!");
}
else{
printf("fahr celsius\n");
for(int i = lower;i <= upper;i+=2){
double c = (5 * (i - 32)) / 9.0;
printf("%d %.1lf\n",i,c);
}
}
}
我的思路是:
1、首先用scanf()函数获取两个整数到int型变量lower,upper
2、然后判断lower是否大于upper,如果大于,则输出提示信息,如果不大于则进行else分支的打印操作
3、打印华氏对摄氏的对照表,用一个for循环遍历lower到upper之间的数,步进为2,然后用printf语句打印遍历的数-即华氏温度,其次用float型打印摄氏温度,用float(5.0*(i-32)/9)表达式来计算每个摄氏温度的值
代码如下:
#include <stdio.h>
int main(void){
int lower,upper;
scanf("%d%d",&lower,&upper);
if(lower>upper){
printf("Invalid Value!");
}else{
printf("fahr celsius\n");
for(int i=lower;i<=upper;i+=2){
printf("%4d %4.1f\n",i,float(5.0*(i-32)/9));
}
}
return 0;
}
int main()
{
int lower, upper;
scanf("%d%d", &lower, &upper);
if (lower > upper)
{
printf("Invalid Value\n");
return 1;
}
for (; lower <= upper; lower += 2)
{
printf("%d %.1f\n", lower, 5.0 * (lower - 32) / 9);
}
return 0;
}