搜索
查看: 2493|回复: 6
打印 上一主题 下一主题

输入一个数如果是奇数就输出前三个数,如果是偶数,输出后3个数精准问题

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-14 20:05:24 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
5啊哈币


为什么  多出了  89和32 两个数  有解决的办法么?
这个是代码:

#include <stdio.h>
#include <stdlib.h>
int main()
{
int a;
    scanf("%d",&a);
    if (a%2==1)
    printf("%d",a+1);
    printf("%d",a+2);
    printf("%d",a+3);
if (a%2==0)
    printf("%d",a-1);
    printf("%d",a-2);
    printf("%d",a-3);
sleep(5000);
return 0;
}

最佳答案

查看完整内容

if语句中 不止包含一个语句,因此要加括号。 #include #include int main() { int a; scanf("%d",&a); if (a%2==1) { printf("%d",a+1); printf("%d",a+2); printf("%d",a+3); } if (a%2==0) { printf("%d",a-1); printf("%d",a-2); printf("%d",a-3); } sleep(5000); return 0; }
沙发
发表于 2012-12-14 20:05:25 | 只看该作者
if语句中 不止包含一个语句,因此要加括号。
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a;
    scanf("%d",&a);
    if (a%2==1)
    {
    printf("%d",a+1);
    printf("%d",a+2);
    printf("%d",a+3);
    }
    if (a%2==0)
    {
    printf("%d",a-1);
    printf("%d",a-2);
    printf("%d",a-3);
   }
    sleep(5000);
    return 0;
}
板凳
 楼主| 发表于 2012-12-14 20:05:55 | 只看该作者
先占个位置在说;
地板
发表于 2012-12-18 14:48:44 | 只看该作者
啊哈磊 发表于 2012-12-15 11:01
if语句中 不止包含一个语句,因此要加括号。
#include
#include

谢谢啦
5#
发表于 2013-1-2 21:09:09 | 只看该作者
看来你没理解分号的作用,分号代表一个语句完成了!所以你的if后面接个printf就表示if只管理一个printf,但是程序要顺序执行,所以除了判断a为偶数的那个if后面的printf没执行,都执行了!你应该把if的作用域用大括号括起来!代码如下!
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a;
    scanf("%d",&a);
    if (a%2==1)
    {
    printf("%d",a+1);
    printf("%d",a+2);
    printf("%d",a+3);
    }
if (a%2==0)
    {
    printf("%d",a-1);
    printf("%d",a-2);
    printf("%d",a-3);
    }
sleep(5000);
return 0;
}
6#
发表于 2013-1-8 21:04:44 | 只看该作者
额。我学习啦 。我也没明白。
7#
发表于 2013-3-1 23:55:25 | 只看该作者
int main()
{int a;
    scanf("%d",&a);
    if (a%2==1)
{
    printf("%d  ",a+1);
    printf("%d  ",a+2);
    printf("%d  ",a+3);
}
if (a%2==0)
{
    printf("%d  ",a-1);
    printf("%d  ",a-2);
    printf("%d  ",a-3);
}
sleep(5000);
return 0;
}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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