登录
  • #刷题

小白求助一个简单的C语言程序

U.S.A
6589
20
【题目】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);

实在搞不懂加不加大括号对结果有啥影响。请各位大神指教一下。拜谢!!
20条回复
热度排序

发表回复