标题:请教一个小问题
只看楼主
守云
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2021-7-20
结帖率:100%
已结贴  问题点数:10 回复次数:2 
请教一个小问题
#include<stdio.h>
int main()
{
    int a,b,c;
    printf("请输入一个数:");
    scanf("%d",&a);
    b=a%3;
    c=a%5;
    if(b=0)
    if(c=0)
    printf("%d能被3和5整除",a);
    else
    printf("%d能被3整除,不能被5整除",a);
    else
    if(c=0)
    printf("%d能被5整除,不能被3整除",a);
    else
    printf("%d不能被3和5整除",a);
    return 0;
}



为什么输出总是不能被3和5整除???
搜索更多相关主题的帖子: scanf printf 输出 整除 int 
2021-08-23 11:55
自由而无用
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:61
专家分:1456
注 册:2021-8-9
得分:2 
#include<stdio.h>

int main(int argc, char *argv[])
{
    int a, b, c;
   
    printf("请输入一个数:");
    scanf("%d",&a);
   
    b = a % 3;
    c = a % 5;
   
    if(0 == b)
        if(0 == c) printf("%d能被3和5整除",a);
        else printf("%d能被3整除,不能被5整除",a);
    else if(0 == c) printf("%d能被5整除,不能被3整除",a);
    else printf("%d不能被3和5整除",a);
        
    return 0;
}

[此贴子已经被作者于2021-8-23 12:10编辑过]

2021-08-23 12:04
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
得分:6 
因为 = 是赋值,== 才是逻辑等于

因此你的代码扩展之后等价于 if( ( b = 0 )!=  0  )

[此贴子已经被作者于2021-8-23 12:19编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2021-08-23 12:17
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:2 
歪个楼

程序代码:
#include <stdio.h>

int main( void )
{
    int a;
    printf( "请输入一个数: " );
    scanf( "%d", &a );

    const char* rs[] = { "能被3和5整除"
                       , "能被3整除,不能被5整除"
                       , "能被5整除,不能被3整除"
                       , "不能被3和5整除" };
    printf( "%d%s\n", a, rs[(a%3+2)/3*2+(a%5+4)/5] );
}
2021-08-23 13:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-506617-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014738 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved