| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 530 人关注过本帖
标题:求大神呀,我这是哪里错了哟。
只看楼主 加入收藏
a974723617
Rank: 1
等 级:新手上路
帖 子:7
专家分:5
注 册:2015-10-20
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:8 
求大神呀,我这是哪里错了哟。
#include<stdio.h>
#include<string.h>
int main()
{
    int a,b,c,d,e,f,j;
    do{
        printf("输入a:");
        scanf("%d",&a);
        if(a<=0)
        printf("a是不多于5位的正整数");
    }while(a<=0||a>=100000);
    b=strlen(a);
    printf("它是%d位数",b);
    switch(b){
        case 1:printf("%d",b);break;
        case 2:c=a%10;
                  b=a%100;
                  printf("%d%d",c,b);
                  break;
          case 3:c=a%10;
                d=a%100;
                e=a%1000;
                printf("%d%d%d",c,d,e);
                break;
        case 4:c=a%10;
                d=a%100;
                e=a%1000;
                f=a%10000;
                printf("%d%d%d%d",c,d,e,f);
                break;
        case 5:c=a%10;
                d=a%100;
                e=a%1000;
                f=a%10000;
                j=a%100000;
                printf("%d%d%d%d%d",c,d,e,f,j);
                break;
        default:printf("出现未知错误");
    }
    return 0;
}
搜索更多相关主题的帖子: include 正整数 
2015-11-03 12:49
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
strlen不能获得int类型变量长度,你得自己写程序得到数据位数。

能编个毛线衣吗?
2015-11-03 13:03
a974723617
Rank: 1
等 级:新手上路
帖 子:7
专家分:5
注 册:2015-10-20
收藏
得分:0 
回复 2楼 wmf2014
哦,谢谢啦。
2015-11-03 13:10
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:3 
不用那么复杂

程序代码:
#include<stdio.h>

int f(int s)
{
    static int t=0;
    if(s==0) return t;
    int m=s%10;
    ++t;
    f(s/=10);
    printf("%4d",m);
    return t;
}
int main()
{
    int t=f(123456789);
    printf("\n他是一个%2d位数。\n",t);
    return 0;
}


[此贴子已经被作者于2015-11-3 15:56编辑过]


DO IT YOURSELF !
2015-11-03 15:52
随风的飞叶
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:90
专家分:158
注 册:2015-10-8
收藏
得分:2 
#include<stdio.h>
#include<math.h>
main()
{   
    int a,b,c,d,e,f;
    printf("请输入一个不大于五位数的数字\n");
    scanf("%d",&a);
    if (a>99999)printf("数值错误\n");
    else {
           b=a/10000;
           c=a/1000-b*10;
           d=a/100-b*100-c*10;
           e=a/10-b*1000-c*100-d*10;
           f=a-b*10000-c*1000-d*100-e*10;
      
                  if (b>0)printf("输入的是五位数%d,%d,%d,%d,%d\n",b,c,d,e,f),printf("%d,%d,%d,%d,%d\n",f,e,d,c,b);
               else if (c>0)printf("输入的是四位数%d,%d,%d,%d\n",c,d,e,f),printf("%d,%d,%d,%d\n",f,e,d,c);
               else if (d>0)printf("输入的是三位数%d,%d,%d\n",d,e,f),printf("%d,%d,%d\n",f,e,d);
               else if (e>0)printf("输入的是二位数%d,%d\n",e,f),printf("%d,%d\n",f,e);
               else printf("输入的是个位数%d\n",f),printf("%d\n",f);
   
    }
}
2015-11-03 16:26
呦xian
Rank: 1
等 级:新手上路
帖 子:1
专家分:1
注 册:2015-11-3
收藏
得分:1 
strlen不能获得int类型变量长度,你得自己写程序得到数据位数。
2015-11-03 19:49
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
printf()函數的返回値就是數據位數了。

授人以渔,不授人以鱼。
2015-11-03 22:26
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:4 
程序代码:
#include <stdio.h>
#include <conio.h>

int main(void)
{
    int x = 54321;
    int length;

    length = printf_s("%d", x);
    printf_s("的位數是%d\n", length);

    printf_s("\nPress any key to continue...");
    _getch();
    return 0;
}


图片附件: 游客没有浏览图片的权限,请 登录注册

授人以渔,不授人以鱼。
2015-11-03 23:02
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
代码不通用

DO IT YOURSELF !
2015-11-04 08:10
快速回复:求大神呀,我这是哪里错了哟。
数据加载中...
 
   



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

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