| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 21508 人关注过本帖
标题:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字 ...
只看楼主 加入收藏
freezesoul
Rank: 2
等 级:论坛游民
帖 子:47
专家分:38
注 册:2010-3-13
收藏
得分:0 
回复 8楼 zzgzzg00
我感觉long是必须的 输入的时候溢出了 判断位数都出错(本来就会出错- -) 谨记啊谨记

[ 本帖最后由 freezesoul 于 2010-11-11 17:02 编辑 ]
2010-11-11 16:51
freezesoul
Rank: 2
等 级:论坛游民
帖 子:47
专家分:38
注 册:2010-3-13
收藏
得分:0 
回复 9楼 luoyang2404
我知道可以这样写啊 但我想用递归来逆序打印数字.. 请教高人啊
2010-11-11 16:53
自由战士89
Rank: 5Rank: 5
等 级:职业侠客
帖 子:154
专家分:387
注 册:2010-9-2
收藏
得分:4 
void a {
 char ch;  ch=getchar();
if(ch!='\n')   
a();
printf("%c",ch)
}
条件有限.这是个以字符逆序输出的函数.不过输出的模样应该是一样的.
2010-11-11 17:27
、镜花氺月
Rank: 2
等 级:论坛游民
帖 子:71
专家分:18
注 册:2010-11-5
收藏
得分:0 
程序代码:
#include<stdio.h>
int main()
{
    int x,y,i=0;
    scanf("%d",&x);
    if(x>100000||x<1)
   
        printf("请输入5位数");
        else
        {    while(x!=0)
            {
              
                y=x%10;
                i=i+1;
                printf("%d,",y);
                x=x/10;
               
            }
        }
            printf("你输入了一个%d位数\n",i);
   
    return 0;
}
2010-11-12 18:43
、镜花氺月
Rank: 2
等 级:论坛游民
帖 子:71
专家分:18
注 册:2010-11-5
收藏
得分:0 
我刚学会的.
2010-11-12 18:44
zzgzzg00
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:388
专家分:627
注 册:2010-8-2
收藏
得分:0 
  似乎和我那个有点像啊  呵呵

粗心是大敌
2010-11-12 18:48
wuhialin
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-11-2
收藏
得分:0 
版主们以后能不能在一些主要的注释注释出来啊?
2010-11-12 23:10
qq312154421
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:124
专家分:120
注 册:2010-6-7
收藏
得分:0 
#include <stdio.h>
int main()
{
    int a,b,c,d,e,f,sum;
    scanf("%d",&a);
    sum=a%100000;
    b=sum%10;
    c=sum%100/10;
    d=sum%1000/100;
    e=sum%10000/1000;
    f=sum%100000/10000;
    printf("这个数是:%d\n个位是:%d\n十位是:%d\n百位是:%d\n千位是:%d\n万位是:%d\n",sum,b,c,d,e,f);
    return 0;   
}
这个也可以吧?

勤奋不止,自强不息。
2010-11-13 16:58
月祭樱冢
Rank: 2
等 级:论坛游民
帖 子:83
专家分:97
注 册:2013-7-15
收藏
得分:0 
上面那些程序都得不到理想的答案
程序代码:
#include<stdio.h>
void main()
{
    int a,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位数:%d\n",gw);
                 printf("它的逆序为:%d\n",gw);break;
        case 2: printf("是2位数:%d %d\n",sw,gw);
                 printf("它的逆序为:%d %d\n",gw,sw);break;
        case 3: printf("是3位数:%d %d %d\n",bw,sw,gw);
                 printf("它的逆序为::%d %d %d\n",gw,sw,bw);break;
        case 4: printf("是4位数:%d %d %d %d\n",qw,bw,sw,gw);
                 printf("它的逆序为:%d %d %d %d\n",gw,sw,bw,qw);break;
        case 5: printf("是5位数:%d %d %d %d %d\n",ww,qw,bw,sw,gw);
                 printf("它的逆序为:%d %d %d %d %d\n",gw,sw,bw,qw,ww);break;
        default:putchar('\a');
    }  
}
这 是对3楼的修改

算法是程序的灵魂
2013-10-15 00:15
only未央
Rank: 1
等 级:新手上路
帖 子:2
专家分:2
注 册:2013-11-12
收藏
得分:0 
#include <stdio.h>
main()
{
int i=1,a;
printf("输入数字:");
scanf("%ld",&a);
while (a/10!=0)
{a=a/10;
i++;
}
printf("数字为%d位数\n",i);
}
这个是求几位数的。新手上路
2014-01-03 23:28
快速回复:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各 ...
数据加载中...
 
   



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

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