搜索
查看: 12136|回复: 40
打印 上一主题 下一主题

一份个人制作的习题解答

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-28 15:13:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 rosynirvana 于 2013-2-28 15:15 编辑

若有错误请指出
任何人都可以随意使用这份解答

代码风格上尽量向ahaC教程靠拢
解法尽力做到容易理解
在以后的版本中可能会添加“更好的解法”

ahaC.zip

7.82 KB, 下载次数: 849

评分

参与人数 1啊哈币 +5 收起 理由
啊哈磊 + 5 很给力!

查看全部评分

沙发
发表于 2013-2-28 15:38:18 | 只看该作者
谢谢分享!辛苦了!
板凳
发表于 2013-2-28 23:25:32 | 只看该作者
求解,从键盘输入两个正整数,让计算机判断第2个数是不是第1个数的约数。如果是则输出YES,不是输出NO。

楼主的答案是
int a,b;
        scanf("%d %d",&a,&b);
        if(a%b==0)
                printf("yes");
        else
                printf("no");

如果输入15和5,为什么a%b==0,也可以显示YES呢?
地板
 楼主| 发表于 2013-2-28 23:57:32 | 只看该作者
AQSQ 发表于 2013-2-28 23:25
求解,从键盘输入两个正整数,让计算机判断第2个数是不是第1个数的约数。如果是则输出YES,不是输出NO。

...

输入15和5
a%b = 15 % 5 = 0
0 == 0
这个式子是真的
所以显示 yes
5#
发表于 2013-3-4 23:55:24 | 只看该作者
rosynirvana 发表于 2013-2-28 23:57
输入15和5
a%b = 15 % 5 = 0
0 == 0

还是有点不大明白,呵呵。

这个0可以怎么理解呢?0代表着什么呢?谢谢了!
6#
 楼主| 发表于 2013-3-5 01:29:59 | 只看该作者
AQSQ 发表于 2013-3-4 23:55
还是有点不大明白,呵呵。

这个0可以怎么理解呢?0代表着什么呢?谢谢了!

您是说哪一个0呢?

第一个0表示15除以5的余数(%符号表示计算余数)
第二个0就是上面那个0
第三个0是表达式里原本的0

用自然语言叙述一遍,就是计算15除以5的余数,然后将这个余数和0相比较,看看余数和0是否相等
如果是,那么输入yes;不然就输出no
7#
发表于 2013-3-21 18:45:09 | 只看该作者
eeeeeeeeeeeeeeeeeeeeeee
8#
发表于 2013-3-26 13:01:21 | 只看该作者
收藏了。。谢谢楼主啦
9#
发表于 2013-3-27 19:33:55 | 只看该作者
正需要,感谢楼主啊
10#
发表于 2013-4-2 10:38:31 | 只看该作者
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
     int a;
         printf("请输入一个正整数\n");
     scanf("%d",&a);
     if(a<9&a>1)
         printf("yes");
     else
         printf("no");
         Sleep(5000);
    return 0;
}
96页答案
11#
 楼主| 发表于 2013-4-2 12:15:10 | 只看该作者
julius 发表于 2013-4-2 10:38
#include
#include
#include

检查你的第九行
12#
发表于 2013-4-5 19:42:43 | 只看该作者
本帖最后由 jaytop 于 2013-4-5 19:53 编辑

#include <stdio.h>
#include <windows.h>

int main()
{
        int sec;
        sec = 120;
        while(sec >= 0)
        {
                system("cls");
                printf("%d:%02d",sec/60,sec%60);
                sec = sec - 1;
                Sleep(1000);
        }

        Sleep(5000);
        return 0;
}


你这个倒计时2分钟,sec教程上没有,sec应该是秒吧,怎么用?  貌似sec用a代替也可以的 这太坑爹了这教程  sec都没学
13#
 楼主| 发表于 2013-4-5 21:42:31 | 只看该作者
jaytop 发表于 2013-4-5 19:42
#include
#include

sec只是一个普通的变量名啊,叫什么都可以……
思路是把2分钟转化成秒,每秒减少1,然后再计算剩余多少分多少秒
14#
发表于 2013-4-10 09:43:43 | 只看该作者
rosynirvana 发表于 2013-4-2 12:15
检查你的第九行

= = 我表示我运行的很正常
15#
 楼主| 发表于 2013-4-10 10:55:31 | 只看该作者
julius 发表于 2013-4-10 09:43
= = 我表示我运行的很正常

if(a<9&a>1)

&是位与,这里应该用的是逻辑与&&
编译器是发现不了这种错误的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表