一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 2791|回复: 20
收起左侧

[编程题] 小白求助一个简单的C语言程序

[复制链接] |试试Instant~ |关注本帖
U.S.A 发表于 2014-9-14 17:14:53 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
本帖最后由 U.S.A 于 2014-9-14 17:16 编辑

【题目】http://pat.zju.edu.cn/contests/mooc-c/03-0
模拟交通警察的雷达测速仪。输入汽车速度,如果速度超出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);   

实在搞不懂加不加大括号对结果有啥影响。请各位大神指教一下。拜谢!!


zh355245849 发表于 2014-9-14 17:34:14 | 显示全部楼层
编译器的问题吧,这道题你写的没问题,大括号可加可不加,除非括号里有2条及以上才必须加
回复 支持 反对

使用道具 举报

 楼主| U.S.A 发表于 2014-9-14 17:45:33 | 显示全部楼层
zh355245849 发表于 2014-9-14 17:34
编译器的问题吧,这道题你写的没问题,大括号可加可不加,除非括号里有2条及以上才必须加

非常感谢
答案找到了,是speeding的首字母大小写问题
应该是:printf("Speed: %d - Speeding",n);
我写的:printf("Speed: %d - speeding",n);
回复 支持 反对

使用道具 举报

DamienPooh 发表于 2014-9-15 00:02:46 | 显示全部楼层
插一句
这种online judge的形式只把你的标准输出(stdout,简单点说就是printf打出来的东西)进行比对,即便程序没有逻辑错误,也会因为这种大小写之类的问题直接判错(oj的开发者为什么不先预处理一下呢看来是太懒了
回复 支持 反对

使用道具 举报

1guangnian 发表于 2014-9-15 00:32:17 | 显示全部楼层
没经验的话还真是不好看出来。。都往逻辑和语法上去想了=。=
回复 支持 反对

使用道具 举报

Linzertorte 发表于 2014-9-15 02:12:58 | 显示全部楼层
。。。你是因为speeding小写了吧
回复 支持 反对

使用道具 举报

 楼主| U.S.A 发表于 2014-9-15 08:21:41 | 显示全部楼层
Linzertorte 发表于 2014-9-15 02:12
。。。你是因为speeding小写了吧

这到底是为什么呢?为什么小写了speed就不行了?
回复 支持 反对

使用道具 举报

lyk1993 发表于 2014-9-15 10:44:37 | 显示全部楼层
U.S.A 发表于 2014-9-15 08:21
这到底是为什么呢?为什么小写了speed就不行了?

没事,没有逻辑问题,要钻牛角尖的话那就就是题目里面说是Speeding,你给写成speeding就给你判成有错了。
回复 支持 反对

使用道具 举报

Linzertorte 发表于 2014-9-15 11:44:31 | 显示全部楼层
U.S.A 发表于 2014-9-15 08:21
这到底是为什么呢?为什么小写了speed就不行了?

你密码是Speeding.如果你输入speeding能进入吗?
回复 支持 反对

使用道具 举报

 楼主| U.S.A 发表于 2014-9-15 12:55:26 | 显示全部楼层
Linzertorte 发表于 2014-9-15 11:44
你密码是Speeding.如果你输入speeding能进入吗?

是这个道理
谢谢指教
回复 支持 反对

使用道具 举报

qzwzkyssb9h 发表于 2014-9-16 10:13:53 | 显示全部楼层
U.S.A 发表于 2014-9-14 17:45
非常感谢
答案找到了,是speeding的首字母大小写问题
应该是:printf("Speed: %d - Speeding",n);

楼主是在跟翁凯的那门C的课吧。。编译标准实在不能忍。。
回复 支持 反对

使用道具 举报

 楼主| U.S.A 发表于 2014-9-16 10:46:37 | 显示全部楼层
qzwzkyssb9h 发表于 2014-9-16 10:13
楼主是在跟翁凯的那门C的课吧。。编译标准实在不能忍。。

卡在4-0了
循环不太会啊
回复 支持 反对

使用道具 举报

qzwzkyssb9h 发表于 2014-9-16 21:03:51 | 显示全部楼层
U.S.A 发表于 2014-9-16 10:46
卡在4-0了
循环不太会啊

你可以先把for循环的那部分视频看完再回来做4的题目。。第四周的确难度骤增啊
回复 支持 反对

使用道具 举报

 楼主| U.S.A 发表于 2014-9-16 21:07:09 | 显示全部楼层
qzwzkyssb9h 发表于 2014-9-16 21:03
你可以先把for循环的那部分视频看完再回来做4的题目。。第四周的确难度骤增啊

不是语句不会写
而是根本不知道思路!!!
回复 支持 反对

使用道具 举报

qzwzkyssb9h 发表于 2014-9-16 21:10:13 | 显示全部楼层
U.S.A 发表于 2014-9-16 21:07
不是语句不会写
而是根本不知道思路!!!

patpat慢慢来吧。。我已开始也觉得编程是不是和我八字不合。。
回复 支持 反对

使用道具 举报

 楼主| U.S.A 发表于 2014-9-16 21:14:38 | 显示全部楼层
qzwzkyssb9h 发表于 2014-9-16 21:10
patpat慢慢来吧。。我已开始也觉得编程是不是和我八字不合。。

但是我非常享受问题被自己彻底解决那一刻的快感
凡事都有坎嘛
挺过来
就好了

不说了,看循环的视频+继续背单词了
回复 支持 反对

使用道具 举报

aaa18918 发表于 2014-9-17 09:19:42 | 显示全部楼层
U.S.A 发表于 2014-9-15 08:21
这到底是为什么呢?为什么小写了speed就不行了?

楼主是ACM吧,那个要求输入输出是和题目严格匹配的
回复 支持 反对

使用道具 举报

qzwzkyssb9h 发表于 2014-9-17 12:33:30 | 显示全部楼层
U.S.A 发表于 2014-9-16 21:14
但是我非常享受问题被自己彻底解决那一刻的快感
凡事都有坎嘛
挺过来

加油!!
回复 支持 反对

使用道具 举报

一剑终情 发表于 2014-9-18 14:08:19 | 显示全部楼层
DamienPooh 发表于 2014-9-14 10:02
插一句
这种online judge的形式只把你的标准输出(stdout,简单点说就是printf打出来的东西)进行比对,即 ...

OJ一开始都是为ACM比赛准备的,ACM比赛不允许犯这种细节错误。抠的就是细节。
回复 支持 反对

使用道具 举报

天涯浪子 发表于 2014-9-19 13:19:57 | 显示全部楼层
这个题判定的简直有毛病。。。。。
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-4 16:09

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表