| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 11858 人关注过本帖
标题:逆序的三位数: 程序每次读入一个正三位数,然后输出逆序的数字。注意,当 ...
只看楼主 加入收藏
初学者6
Rank: 2
等 级:论坛游民
帖 子:34
专家分:20
注 册:2016-12-30
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:15 
逆序的三位数: 程序每次读入一个正三位数,然后输出逆序的数字。注意,当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7
各位大神,帮忙看看哪里不对?谢谢!
#include<stdio.h>

int main()
{
    int n, a, b, c;
    scanf("%d", &n);
    a = n%10;
    b = (n/10)%10;
    c = n/100;
    if(a==0)
    printf("%d %d", b, c);
    else if(a==0&&b==0)
    printf("%d", c);
    else
    printf("%d %d %d", a, b, c);
    return 0;
 }
搜索更多相关主题的帖子: return 
2017-03-10 14:26
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:12 
题目中没要求空格,所以只要输出 printf( "%d\n", a*100+b*10+c ) 就行了。

另外,
if(a==0)
    printf("%d %d", b, c);
else if(a==0&&b==0)
    printf("%d", c); // 有没有想过这一句永远不可能执行到?
2017-03-10 14:30
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:8 
#include <stdio.h>
main()
{
    int n;
    scanf("%d", &n);
    for (; n&&!(n%10); n/=10) NULL;
    for (; n; n/=10)
        printf("%d", n%10);
 }

[此贴子已经被作者于2017-3-10 14:54编辑过]

2017-03-10 14:35
初学者6
Rank: 2
等 级:论坛游民
帖 子:34
专家分:20
注 册:2016-12-30
收藏
得分:0 
回复 2楼 rjsp
为什么?那要怎样才能执行?
2017-03-10 14:40
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
回复 4楼 初学者6
掉换一下
     if(a==0&&b==0)
     printf("%d", c);
    else if(a==0)
     printf("%d %d", b, c);
这样就行了

[此贴子已经被作者于2017-3-10 14:46编辑过]

2017-03-10 14:45
初学者6
Rank: 2
等 级:论坛游民
帖 子:34
专家分:20
注 册:2016-12-30
收藏
得分:0 
哦了  谢谢
2017-03-10 14:51
初学者6
Rank: 2
等 级:论坛游民
帖 子:34
专家分:20
注 册:2016-12-30
收藏
得分:0 
回复 3楼 吹水佬
for (; n; n/=10)
这一句怎么理解呢?
2017-03-10 14:55
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
3楼程序稍做修改,可适应多位。
#include <stdio.h>
 main()
 {
     int n;
     scanf("%d", &n);
     for (; n; n/=10)
         if(n%10 != 0) break;
         do
         {   
            printf("%d", n%10);}while(n/=10);
  }
2017-03-10 14:58
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
以下是引用初学者6在2017-3-10 14:55:02的发言:

 for (; n; n/=10)
这一句怎么理解呢?

这样看看就清楚:
 for (; n; n/=10)
    printf("%d\n",n);
2017-03-10 16:02
初学者6
Rank: 2
等 级:论坛游民
帖 子:34
专家分:20
注 册:2016-12-30
收藏
得分:0 
回复 9楼 吹水佬
好的  谢谢!
2017-03-10 16:20
快速回复:逆序的三位数: 程序每次读入一个正三位数,然后输出逆序的数字。注意 ...
数据加载中...
 
   



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

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