| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1334 人关注过本帖, 1 人收藏
标题:求简单方法
只看楼主 加入收藏
banyleader
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2008-7-8
收藏(1)
 问题点数:0 回复次数:17 
求简单方法
给一个不多于5位的正整数,要求:1、求出它是几位数;2、按逆序打印出各位数字

如:12345 实现54321   虽然我达到了要求,但是感觉这台傻瓜了还繁琐,请哪位能给帮忙给个简单的,谢谢了

#include <stdio.h>
 main()
{
long int m;
int x1,x2,x3,x4,x5;
printf("please input the integer:\n");
scanf("%ld",&m);
if(m/10000==0)
   if(m/1000==0)
      if(m/100==0)   
          if(m/10==0)            
              {
                printf("this integer has one number!\n");
                printf("%d",m);
               }
          else  
               {
                printf("this integer has two number!\n");
                printf("%d",m%10);
                printf("%d",m%100/10);
               }
      else  
          {
           printf("this integer has three number!\n");
           printf("%d",m%10);
           printf("%d",m%100/10);
           printf("%d",m%1000/100);
           }
   else  
       {
        printf("this integer has four number!\n");
        printf("%d",m%10);
        printf("%d",m%100/10);
        printf("%d",m%1000/100);
        printf("%d",m%10000/1000);
        }   
 else  
     {
      printf("this integer has five number!\n");
      printf("%d",m%10);
      printf("%d",m%100/10);
      printf("%d",m%1000/100);
      printf("%d",m%10000/1000);
      printf("%d",m/10000);
      }         
}
搜索更多相关主题的帖子: 简单方法 
2008-07-17 22:26
爱喝牛奶的猫咪
Rank: 1
来 自:QQ群46520219
等 级:禁止访问
帖 子:513
专家分:0
注 册:2008-6-16
收藏
得分:0 
不但繁琐,还很笨,无法处理其它位数的情况


[color=white]<>
2008-07-17 22:29
iFreeBSD
Rank: 4
等 级:业余侠客
威 望:4
帖 子:474
专家分:236
注 册:2007-11-5
收藏
得分:0 
看你那么辛苦
#include <stdio.h>
int Func(int n) {
         static int  w = 0 ;
         if(n){
            putchar('0'+ n % 10) ;
            Func(n / 10) ;
            w++ ;
          }
     return w ;
}
int main(void) {
         int  n , w;
         scanf("%d" , &n) ;
         w = Func(n) ;
         printf("\n%d\n" , w);
 return 0 ;
}

without further ado, let’s get started
2008-07-17 22:54
himpo
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:192
专家分:123
注 册:2008-5-16
收藏
得分:0 
逆序打印可以用栈来实现?
2008-07-17 22:55
banyleader
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2008-7-8
收藏
得分:0 
领教了,谢谢!
2008-07-17 23:20
banyleader
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2008-7-8
收藏
得分:0 
[bo][un]iFreeBSD[/un] 在 2008-7-17 22:54 的发言:[/bo]

看你那么辛苦
#include
int Func(int n) {
         static int  w = 0 ;
         if(n){
            putchar('0'+ n % 10) ;
            Func(n / 10) ;
            w++ ;
          }
     return w ...


为什么在putchar中必须加个‘0’?
2008-07-17 23:22
qxykzx
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2008-7-17
收藏
得分:0 
顶一下
putchar输出的是字符形式,这样做是把数字变成字符进行输出.可看下ASC码
2008-07-18 00:27
qxykzx
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2008-7-17
收藏
得分:0 
一个新手的问题解答
楼上真厉害,其实我也编了一个.比较繁琐,但是思路是把数字还是按照数字去做,最后再转成字符,后面输出更改一下可以安照数字计算.
我用了标志位来指示非零位,本来想着用移位的方法做,但觉得简单不到哪里去,
所以就想了用标志位做.程序已经测试过,有什么问题请大家指教^_^
#include <stdio.h>
#include <math.h>
main()
{
 int num=0,i,j,x;
 int num_1[5];
 int flag[5];/*标志位,用来指示哪位是0*/
 printf("Please input the number:\n");
 scanf("%d",&num);
 for(i=0;i<5;i++)
 {
  x=pow(10,i);
  num_1[i]=(num/x)%10;
  if(num_1[i]==0)
    flag[i]=0;
    else
     flag[i]=1;
   }
   for(i=4;i>=0;i--)
   {
    if(flag[i]!=0)
     {
       printf("The number has %d bit\n",i+1);
       printf("The result is ");
       for(j=0;j<=i;j++)
         printf("%d",num_1[j]);
       break;
      }
    }
    getch();
 }
2008-07-18 00:32
simpley
Rank: 1
等 级:新手上路
帖 子:262
专家分:0
注 册:2005-2-23
收藏
得分:0 
if x<10,-----
elseif x<100,-----
elseif x<1000,-----
elseif x<10000,-----
else -------

语法记不清了,或许用switch

myQQ::445750010
2008-07-18 11:23
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
#include <stdio.h>
#include <string.h>

int main()
{
    char str[100];
    while (scanf("%100s",str)!=EOF)
    {
        printf("len:%d\n",strlen(str));
        printf("rev:%s\n",_strrev(str));
    }
    return 0;
}


GCC+VC6通过。

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-07-18 11:46
快速回复:求简单方法
数据加载中...
 
   



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

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