| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:  注册  忘记密码
 
密 码:  
共有 456 人关注过本帖, 1 人收藏
标题:小题目,求简单点的方法,越简单越好
只看楼主 加入收藏
tp19920527
Rank: 2
等 级:论坛游民
帖 子:15
专家分:10
注 册:2011-2-26
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:5 
小题目,求简单点的方法,越简单越好
给一个不多于5位数的正整数,要求:
① 求出它是几位数;
② 分别输出每一个数字;
③ 按逆序输出各个数字,例如原数321,应输出123.
#include <stdio.h>
void main()
{
    long a,b,c,d,e,m,k;
        printf("请输入一个不多于5位数的正整数\n");
    scanf("%d",&m);
    a=m%10;
    b=(m%100)/10;
    c=(m%1000)/100;
    d=(m%10000)/1000;
    e=(m%100000)/10000;
    if(e>0) k=5;
    else if(d>0) k=4;
    else if(c>0) k=3;
    else if(b>0) k=2;
    else  k=1;
    switch(k)
    {
    case 1:printf("1位数\n%d\n%d\n",a,a);break;
    case 2:printf("2位数\n%d%d\n%d%d\n",b,a,a,b);break;
    case 3:printf("3位数\n%d%d%d\n%d%d%d\n",c,b,a,a,b,c);break;
    case 4:printf("4位数\n%d%d%d%d\n%d%d%d%d\n",d,c,b,a,a,b,c,d);break;
    case 5:printf("5位数\n%d%d%d%d%d\n%d%d%d%d%d\n",e,d,c,b,a,a,b,c,d,e);break;
    }
}
搜索更多相关主题的帖子: 正整数 long 
2011-03-04 13:51
baobaoisme
Rank: 7Rank: 7Rank: 7
来 自:AVATAR
等 级:黑侠
帖 子:260
专家分:506
注 册:2010-7-9
收藏
得分:0 
程序代码:
#include <stdio.h>

int main()
{
    int convert(int);
    int n;
    scanf("%d",&n);
    printf("%d位数\n",convert(n));
    return 0;
}
int convert(int n)
{
    int sum=0,i;
    while(n/10!=0)
    {
        i=n%10;
        n=n/10;
        printf("%d",i);
        sum++;
    }
    printf("%d\n",n);
    sum++;
    return sum;
}
2011-03-04 14:08
tp19920527
Rank: 2
等 级:论坛游民
帖 子:15
专家分:10
注 册:2011-2-26
收藏
得分:0 
回复 2楼 baobaoisme
多谢...我觉得现在应该看书去。
2011-03-04 14:20
犬虫门心
Rank: 8Rank: 8
来 自:西安
等 级:蝙蝠侠
帖 子:209
专家分:753
注 册:2011-1-25
收藏
得分:20 
#include<stdio.h>

int main(void)
{
    int n, weishu = 0, m, t = 0;

    scanf("%d", &n);
    for(m = n; m; m /= 10, weishu++)
        t = t*10 + m%10;

    printf("%d是%d位数\n", n, weishu);
    for(; n; n /= 10)
        printf("%d ", n%10);
    printf("\n");
    for(; t; t /= 10)
        printf("%d ", t%10);
    return 0;
}

当一名对得起学生学费的老师,一直是我的目标!我会更努力的!
2011-03-04 14:27
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
收藏!!!

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-04 16:19
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
菜鸟练习,仅供参考。

root@~ #cat 2.c
程序代码:
#include <stdio.h>

int main (void) {

        int i,n=0,m;
        scanf ("%i",&i);
        m=i;

        printf ("\nYour type digit is:\t%i\n",i);
        printf ("Reverse digit is:\t");

        do {
                printf ("%i",i%10);
                i/=10;
                n++;
        }while(i!=0);

        printf ("\n%i's digits is:\t%i\n",m,n);

        return 0;

}

root@~ #gcc 2.c -o 2
root@~ #./2
12345

Your type digit is:     12345
Reverse digit is:       54321
12345's digits is:      5
root@~ #./2
1234567

Your type digit is:     1234567
Reverse digit is:       7654321
1234567's digits is:    7
root@~ #

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-04 16:31
快速回复:小题目,求简单点的方法,越简单越好
 
   



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

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