鱼C论坛

 找回密码
 立即注册
查看: 1515|回复: 13

if问题

[复制链接]
发表于 2014-7-14 20:00:51 | 显示全部楼层 |阅读模式
1鱼币
为什么下面的程序我输入小数它不执行第一个if里面的语句?
#include<stdio.h>
void main()
{
        int a,x;
        printf("in a numble\n");
        scanf("%d",&a);
        if(a%1!=0)
        {
                printf("Please input errors from the new input\n");
        }
        else
        {
                if(0<a,a<4)
                {
                        printf("this is a sushu\n");
                }
                else
                {
                        for(x=2;x<a;x++)
                        {
                                if(a%x==0)
                                {
                                        printf("this is not  a sushu\n");
                                }
                                else
                                {
                                        printf("this is a sushu\n");
                                }
                                break;
                               
                        }
                }
               
        }
}

最佳答案

查看完整内容

{:7_176:} %d是整形 你输入小数也只会取整数部分 再说%也是针对整形的 不管什么数 ÷ 1 余数肯定是0啊 所以 这肯定不会执行啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-14 20:00:52 | 显示全部楼层
{:7_176:}
 scanf("%d",&a);
%d是整形 你输入小数也只会取整数部分
再说%也是针对整形的 不管什么数 ÷ 1 余数肯定是0啊
所以
if(a%1!=0)
        {
                printf("Please input errors from the new input\n");
        }
这肯定不会执行啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-14 20:31:30 | 显示全部楼层
碉堡了,很少看见人家程序写你这样的。if else if 没学过吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-14 20:54:21 | 显示全部楼层
因为A是整形,你说小数的时候,他默认会只取整数部分,int a  ;a=1.1;printf("%d",a);结果为1,可以改变A变量的类型,来解决这个问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-14 20:56:28 | 显示全部楼层
奋斗小小鸟 发表于 2014-7-14 20:54
因为A是整形,你说小数的时候,他默认会只取整数部分,int a  ;a=1.1;printf("%d",a);结果为1,可以改变A变 ...

改变类型,结构也得改改
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-15 10:30:28 | 显示全部楼层
#include <stdio.h>

int main ()
{
        int n;
        printf("Please Input a number:");
        scanf("%d",&n);
        printf("%d\n",n);

        return 0;
}
你自己输入小数试试看就知道了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-15 10:44:18 | 显示全部楼层
这是我自己写的一个
#include <stdio.h>
#include<math.h>

void close();

int main ()
{
        int n,i;
s:        printf("Please Input a number:");
        if(scanf("%d",&n))
        {
                
                 if(n == 1)
                {
                        printf("1既不是素数也不是和数!\n");
                        close;
                        goto s;
                }
                else if(n == 2)
                {
                        printf("%d是素数!\n",n);
                        close;
                        goto s;
                }
                else if(n%2==0)
                {
                        printf("%d是和数!\n",n);
                        close;
                        goto s;
                }
                else
                {
                        for(i=3;i<=sqrt
                                (n);i=i+2)
                        {
                                if(n%i==0)
                                {
                                        break;
                                }
                        }
                        if(i<=sqrt(n))
                        {
                                printf("%d是和数!\n",n);
                                close;
                                goto s;
                        }
                        else
                        {
                                printf("%d是素数!\n",n);
                                close;
                                goto s;
                        }
                }
        }
        
        return 0;
}
void close()
{
        char ch;
        while((ch = getchar())!='\n');
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-15 11:47:20 | 显示全部楼层
!=出在这个判断语句
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-7-15 12:46:21 | 显示全部楼层
牡丹花下死做鬼 发表于 2014-7-15 10:30
你自己输入小数试试看就知道了

如果我想让用户输入带有小数的数字后就显示输入错误该怎么办呢?

点评

最后价格else呗  详情 回复 发表于 2014-7-15 12:54
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-15 12:54:40 | 显示全部楼层
千寻0 发表于 2014-7-15 12:46
如果我想让用户输入带有小数的数字后就显示输入错误该怎么办呢?

最后价格else呗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-7-15 13:24:33 | 显示全部楼层
reg163 发表于 2014-7-14 20:31
碉堡了,很少看见人家程序写你这样的。if else if 没学过吗

我写的有什么问题吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-7-15 13:27:16 | 显示全部楼层

初学不知道该怎么写判断
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-15 13:37:34 | 显示全部楼层
路过 顶一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

我爱鱼C论坛 该用户已被删除
发表于 2015-2-19 20:42:04 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 17:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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