| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 554 人关注过本帖
标题:一个简单的程序求解 谢谢各位了!
只看楼主 加入收藏
deasun
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2009-11-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
一个简单的程序求解 谢谢各位了!
输入一个不多于4位数的正整数,要求入下;(1)求出它是几位数;(2)输出每一位数。  谢谢了!
搜索更多相关主题的帖子: 求解 
2009-11-10 21:00
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
重在思路,然后自己动手:
从个位开始,个位数可以表示为x%10;让后将x用x/10代替,这样原来的个位数之前的数又组成了一个新的数,继续x%10,得到此时的个位数,即原来的十位数,如此继续。当第一次出现x/10==0时,说明该数已经到头了。
2009-11-10 21:05
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
收藏
得分:5 
程序代码:
void fun(int num)
{
  static int count;
  if(num < 0)
   {
     /*this may lead to losing data*/
     num = -num;
    }
   if(!(num / 10))
   {
     count ++;
     printf(" %d\n",num);
     printf(" %d",count);
     return;
   }
  else
  {
    count ++;
    fun(num/10);
    printf(" %d",num%10);
  }
}
没测试过,不知道对不对。

要练习算法就来http:///!!有挑战哦!!
2009-11-10 21:13
小J
Rank: 8Rank: 8
等 级:等待验证会员
威 望:1
帖 子:282
专家分:704
注 册:2009-6-18
收藏
得分:5 
#include "stdio.h"

main()
{
int num,i;
printf("请输入一个数:");
scanf("%d",&num);
if(num/1000!=0)
{
printf("这是一个四位数!它的每一位分别是:");
while(num>=0)
{
i=num%10
num=num/10
printf("%d",i);
}
}

else if(num/100!=0)
{
printf("这是一个三位数!它的每一位分别是:");
while(num>=0)
{
i=num%10
num=num/10
printf("%d",i);
}
}
else if(num/10!=0)
{
printf("这是一个两位数!它的每一位分别是:");
while(num>=0)
{
i=num%10
num=num/10
printf("%d",i);
}
else
{
printf("这是一个一位数,它是%d",num);
}
}



}
2009-11-10 21:15
longlong89
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:小飞侠
威 望:6
帖 子:1043
专家分:2754
注 册:2009-8-18
收藏
得分:5 
程序代码:
#include <stdio.h>
main ()
{
    int a, count = 0, w;
    scanf ("%d",&a);
    while (a) 
    {    
      ++ count;
      w = a % 10;
      printf ("%d\t",w);
      a /= 10;
    }
    puts ("\n");
    printf ("%d",count);
    getch ();
    return 0;
    }
顶2L

想象力征服世界
2009-11-10 22:28
xiepanqi
Rank: 2
等 级:论坛游民
帖 子:43
专家分:55
注 册:2009-10-24
收藏
得分:5 
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    int a,b,c,d,e,n;
    scanf("%d",&n);
    a=n/10000;
    b=(n-10000*a)/1000;
    c=(n-10000*a-1000*b)/100;
    d=(n-10000*a-1000*b-100*c)/10;
    e=n-10000*a-1000*b-100*c-10*d;
    if(a>0)printf("5位数\n个位%d十位%d百位%d千位%d万位%d\n%d%d%d%d%d\n",e,d,c,b,a,e,d,c,b,a);
    else
        if(b>0)printf("4位数\n个位%d十位%d百位%d千位%d\n%d%d%d%d\n",e,d,c,b,e,d,c,b);
        else
            if(c>0)printf("3位数\n个位%d十位%d百位%d\n%d%d%d\n",e,d,c,e,d,c);
            else
                if(d>0)printf("2位数\n个位%d十位%d\n%d%d\n",e,d,e,d);
                else printf("1位数\n个位%d\n%d\n",e,e);
}
这是谭老书上求5位的
你自己改下吧
2009-11-10 22:30
快速回复:一个简单的程序求解 谢谢各位了!
数据加载中...
 
   



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

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