- #刷题
小白求助一个简单的C语言程序

658920
【题目】pat.zju.edu.cn
模拟交通警察的雷达测速仪。输入汽车速度,如果速度超出60 mph,则显示“Speeding”,否则显示“OK”。
输入格式:
输入在一行中给出1个不超过500的非负整数,即雷达测到的车速。
输出格式:
在一行中输出测速仪显示结果,格式为:“Speed: V - S”,其中V是车速,S或者是Speeding、或者是OK。
输入样例1:40
输出样例1:Speed: 40 - OK
输入样例2:75
输出样例2:Speed: 75 - Speeding
【我的代码】
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
if(n>60)
printf("Speed: %d - speeding\n",n);
else
printf("Speed: %d - OK\n",n);
return 0;
}
这个代码运行的结果是部分错误。
【一个正确的代码】
#include<stdio.h>
int main()
{
int speed;
scanf("%d",&speed);
if(speed>60)
{
printf("Speed: %d - Speeding",speed);
}
else
{
printf("Speed: %d - OK",speed);
}
return 0;
}
【不解之处】
对比后发现,我的代码与正确代码的唯一区别是:正确代码中的printf函数加了“{}”,而我的代码里没有。即:
if(speed>60) { printf("Speed: %d - Speeding",speed);}
if(speed>60) printf("Speed: %d - Speeding",speed);
实在搞不懂加不加大括号对结果有啥影响。请各位大神指教一下。拜谢!!
模拟交通警察的雷达测速仪。输入汽车速度,如果速度超出60 mph,则显示“Speeding”,否则显示“OK”。
输入格式:
输入在一行中给出1个不超过500的非负整数,即雷达测到的车速。
输出格式:
在一行中输出测速仪显示结果,格式为:“Speed: V - S”,其中V是车速,S或者是Speeding、或者是OK。
输入样例1:40
输出样例1:Speed: 40 - OK
输入样例2:75
输出样例2:Speed: 75 - Speeding
【我的代码】
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
if(n>60)
printf("Speed: %d - speeding\n",n);
else
printf("Speed: %d - OK\n",n);
return 0;
}
这个代码运行的结果是部分错误。
【一个正确的代码】
#include<stdio.h>
int main()
{
int speed;
scanf("%d",&speed);
if(speed>60)
{
printf("Speed: %d - Speeding",speed);
}
else
{
printf("Speed: %d - OK",speed);
}
return 0;
}
【不解之处】
对比后发现,我的代码与正确代码的唯一区别是:正确代码中的printf函数加了“{}”,而我的代码里没有。即:
if(speed>60) { printf("Speed: %d - Speeding",speed);}
if(speed>60) printf("Speed: %d - Speeding",speed);
实在搞不懂加不加大括号对结果有啥影响。请各位大神指教一下。拜谢!!