| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 21508 人关注过本帖
标题:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字 ...
只看楼主 加入收藏
freezesoul
Rank: 2
等 级:论坛游民
帖 子:47
专家分:38
注 册:2010-3-13
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:21 
给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
程序代码:
#include "stdio.h"
main()
{

 long int n,j,x=1;

 scanf("%d",&n);

 while (n>10000)
   {
    printf("again input 5 wei yi xia de shu");
    scanf("%d",&n);
   }
  if(n/10>0)x++;
  if(n/100>0)x++;
  if(n/1000>0)x++;
  printf("number is %d wei shu",x);
  palin(x);
  printf("\n");
  getch();
}

 palin(x)
{

 char next;

 if (x<=1)
   {
    next=getchar();
    putchar(next);
   }

 else
   {
    next=getchar();
    palin(x-1);
    putchar(next);
   }
}

为什么打印不出 数字..... 迷惘啊


[ 本帖最后由 freezesoul 于 2010-11-11 10:38 编辑 ]
搜索更多相关主题的帖子: 逆序 整数 位数 数字 打印 
2010-11-10 20:40
ou1111
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:87
专家分:162
注 册:2010-10-26
收藏
得分:4 
#include <stdio.h>
void palin(int x)
{
int a,b,c,d;
  a=x/1000;
  b=(x%1000)/100;
  c=(x/10)%10;
  d=x%10;
  printf("%4d%4d%4d%4d\n",a,b,c,d);


}

void main()
{
  int n,x=1;
  printf("again input 5 wei yi xia de shu");
  scanf("%d",&n);
  if(n/10>0)x++;
  if(n/100>0)x++;
  if(n/1000>0)x++;
  printf("number is %d wei shu",x);
  palin(n);
  printf("\n");
看看这
2010-11-10 21:16
五当家
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:2
帖 子:1112
专家分:3674
注 册:2010-10-20
收藏
得分:4 
#include<stdio.h>
void main()
{
    int a,b,gw,sw,bw,qw,ww,i;
    scanf("%d",&a);
    gw=a%10;
    sw=a/10%10;
    bw=a/100%10;
    qw=a/1000%10;
    ww=a/10000;
    if(gw!=0)
        i=1;
    if(sw!=0)
        i=2;
    if(bw!=0)
        i=3;
    if(qw!=0)
        i=4;
    if(ww!=0)
        i=5;
switch(i)
    {
        case 1: printf("是1位数\n");
        case 2: printf("是2位数\n");
        case 3: printf("是3位数\n");
        case 4: printf("是4位数\n");
        case 5: printf("是5位数\n");
    }
    b=gw*10000+sw*1000+bw*100+qw*10+ww;
    printf("它的逆序为:%d\n",b);
}
我记得这好像是作业吧.下次不要发作业题啦!

经验积累中............
2010-11-10 21:43
freezesoul
Rank: 2
等 级:论坛游民
帖 子:47
专家分:38
注 册:2010-3-13
收藏
得分:0 
回复 2楼 ou1111
我想用递归来逆序打印...
2010-11-10 22:13
freezesoul
Rank: 2
等 级:论坛游民
帖 子:47
专家分:38
注 册:2010-3-13
收藏
得分:0 
回复 3楼 五当家
这是我自己找的题目.. 不是做业啊.. 我没那课
2010-11-10 22:14
zzgzzg00
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:388
专家分:627
注 册:2010-8-2
收藏
得分:4 
main()
{
int a,i=0,j=0,b[10];
scanf("%d",&a);
for(;a!=0;)
{
b[j++]=a%10;
a=a/10;
i=i+1;
}
printf("zhe shi%dwei shu\n",i);
printf("ni shu is");
for(j=0;j<i;j++)
printf("%d",b[j]);
}
把int 改成long更好点  要不数据容易溢出

粗心是大敌
2010-11-10 22:32
freezesoul
Rank: 2
等 级:论坛游民
帖 子:47
专家分:38
注 册:2010-3-13
收藏
得分:0 
回复 6楼 zzgzzg00
谢谢提醒.. 我会谨记的
2010-11-11 09:48
zzgzzg00
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:388
专家分:627
注 册:2010-8-2
收藏
得分:0 
你谨记什么嘛,我的意思是让你看看那个是不是你要的

粗心是大敌
2010-11-11 15:45
luoyang2404
Rank: 2
等 级:论坛游民
帖 子:19
专家分:27
注 册:2010-11-8
收藏
得分:4 
main( )
{
long a,b,c,d,e,x;
scanf("%ld",&x);
a=x/10000;/*分解出万位*/
b=x%10000/1000;/*分解出千位*/
c=x%1000/100;/*分解出百位*/
d=x%100/10;/*分解出十位*/
e=x%10;/*分解出个位*/
if (a!=0) printf("there are 5, %ld %ld %ld %ld %ld\n",e,d,c,b,a);
else if (b!=0) printf("there are 4, %ld %ld %ld %ld\n",e,d,c,b);
  else if (c!=0) printf(" there are 3,%ld %ld %ld\n",e,d,c);
    else if (d!=0) printf("there are 2, %ld %ld\n",e,d);
      else if (e!=0) printf(" there are 1,%ld\n",e);
}
2010-11-11 15:49
luoyang2404
Rank: 2
等 级:论坛游民
帖 子:19
专家分:27
注 册:2010-11-8
收藏
得分:0 
这个是C语言100例中的第29题
2010-11-11 15:50
快速回复:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各 ...
数据加载中...
 
   



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

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