| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1831 人关注过本帖
标题:请看看这个题目?
取消只看楼主 加入收藏
jay578010076
Rank: 1
等 级:新手上路
帖 子:4
专家分:3
注 册:2010-1-8
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
请看看这个题目?
给出一个不多于5位的正整数,要求:
1、求出它是几位;
2、分别输出每一位数字;
3、按逆序输出每一位数字,例如123,输出321.


我自己是将输入得这个数(x)分别放在9999~9999、9999~999、999~99、99~9中比较,但是感觉这样做比较麻烦,程序要写很多,如果是10位数呢?请问有没有更好的办法?谢谢!
搜索更多相关主题的帖子: 321 正整数 
2010-01-15 19:49
jay578010076
Rank: 1
等 级:新手上路
帖 子:4
专家分:3
注 册:2010-1-8
收藏
得分:0 
回复 2楼 jiangwu10057
能不能说明白点!我把我自己写的代码给你看看吧!
main()
{
  long int x,a,b,c,d,e;
  scanf("%ld",&x);
  if(x<=99999&&x>9999)
   {
    printf("shi 5 wei shu\n");
    a=x/10000;
    printf("%1d",a);
    b=x-a*10000;
    b=b/1000;
    printf(" %1d",b);
    c=x-a*10000-b*1000;
    c=c/100;
    printf(" %1d",c);
    d=x-a*10000-b*1000-c*100;
    d=d/10;
    printf(" %1d",d);
    e=x-a*10000-b*1000-c*100-d*10;
    printf(" %d\n",e);
    printf("%ld",(e*10000+d*1000+c*100+b*10+a));
   }
  if(x<=9999&&x>999)
   {
     printf("shi 4 wei shu\n");
     b=x/1000;
     printf("%1d",b);
     c=x-b*1000;
     c=c/100;
     printf(" %1d",c);
     d=x-b*1000-c*100;
     d=d/10;
     printf(" %1d",d);
     e=x-b*1000-c*100-d*10;
     printf(" %d\n",e);
     printf("%ld",(e*1000+d*100+c*10+b));
    }
   if(x<=999&&x>99)
    {
      printf("shi 3 wei shu\n");
      c=x/100;
      printf("%1d",c);
      d=x-c*100;
      d=d/10;
      printf(" %1d",d);
      e=x-c*100-d*10;
      printf(" %d\n",e);
      printf("%d",(e*100+d*10+c));
     }
    if(x<=99&&x>9)
     {
      printf("shi 2 wei shu\n");
      d=x/10;
      printf("%d",d);
      e=x-d*10;
      printf(" %d\n",e);
      printf("%d",(e*10+d));
     }
    if(x<=9&&x>0)
     {
      printf("shi 1 wei shu\n");
      printf("%d",e);
      printf("%d",e);

     }

  getch();
}
2010-01-15 20:20
快速回复:请看看这个题目?
数据加载中...
 
   



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

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