| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1149 人关注过本帖
标题:为什么这个程序只能进行一半,请会的指教。
只看楼主 加入收藏
希望之光JF
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2016-8-27
结帖率:0
收藏
 问题点数:0 回复次数:8 
为什么这个程序只能进行一半,请会的指教。
#include<stdio.h>
#include<math.h>
int main()
{
    int num,indiv,ten,hundred,thousand,tenthousand,place;
    printf("请输入一个整数(0-99999):");
    scanf("%d",&num);
    if(num>9999) place=5;
    else if(num>999) place=4;
    else if(num>99) place=3;
    else if(num>9) place=2;
    else place=1;
    printf("位数是%d\n",place);
    printf("每位数位的数字是:");
    tenthousand=num/10000;
    thousand=(int)(num-tenthousand*10000)/1000;
    hundred=(int)(num-tenthousand*10000-thousand*1000)/100;
    ten=(int)(num-tenthousand*10000-thousand*1000-hundred*100)/10;
    indiv=(int)(num-tenthousand*10000-thousand*1000-hundred*100-ten*10);
    switch(place)
    {
        case5:printf("%d,%d,%d,%d,%d",tenthousand,thousand,hundred,ten,indiv);
        printf("\n反序数字是:");
        printf("%d%d%d%d%d\n",indiv,ten,hundred,thousand,tenthousand);
        break;
        case4:printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);
        printf("\n反序数字是:");
        printf("%d%d%d%d\n",indiv,ten,hundred,thousand);
        break;
        case3:printf("%d,%d,%d",hundred,ten,indiv);
        printf("\n反序数字是:");
        printf("%d%d%d\n",indiv,ten,hundred);
        break;
        case2:printf("%d,%d",ten,indiv);
        printf("\n反序数字是:");
        printf("%d%d\n",indiv,ten);
        break;
        case1:printf("%d",indiv);
        printf("\n反序数字是:");
        printf("%d\n",indiv);
        break;
    }
    return 0;
}
搜索更多相关主题的帖子: include 
2016-09-16 19:43
希望之光JF
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2016-8-27
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
2016-09-16 19:44
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
case1应为case 1中间应有空格,其它一样。
2016-09-16 20:08
希望之光JF
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2016-8-27
收藏
得分:0 
回复 3楼 ehszt
好,我试试
2016-09-16 21:06
hm605538951
Rank: 2
等 级:论坛游民
帖 子:25
专家分:27
注 册:2016-7-16
收藏
得分:0 
1 #include <stdio.h>
  2 #include <math.h>
  3
  4 int main(void)
  5 {
  6     int num, indiv, ten, hundred, thousand, tenthousand, place;
  7
  8     printf("请输入一个整数 (0-99999):");
  9     scanf("%d", &num);
 10
 11     if(num > 9999)
 12         place = 5;
 13     else if(num > 999)
 14         place = 4;
 15     else if(num > 99)
 16         place = 3;
 17     else if(num > 9)
 18         place = 2;
 19     else
 20         place = 1;
 21
 22     printf("位数是%d\n", place);
 23     printf("每一个数位的数字是:");
 24
 25     tenthousand = num / 10000;
 26     thousand = (int)(num - tenthousand * 10000) / 1000;
 27     hundred = (int)(num - tenthousand * 10000 - thousand * 1000) / 100;
 28     ten = (int)(num - tenthousand * 10000 - thousand * 1000 - hundred * 100) / 10;
 29     indiv = (int)(num - tenthousand * 10000 - thousand * 1000 - hundred * 100 - ten * 10);
 30
 31     switch(place)
 32     {
 33         case 5:
 34                 printf("%d, %d, %d, %d, %d", tenthousand, thousand, hundred, ten, indiv);
 35                 printf("\n反序数字是:");
 36                 printf("%d,%d,%d,%d,%d\n", indiv, ten, hundred, thousand, tenthousand);
 37                 break;
 38
 39         case 4:
 40                 printf("%d,%d,%d,%d", thousand, hundred, ten, indiv);
 41                 printf("\n反序数字是:");
 42                 printf("%d,%d,%d,%d\n", indiv, ten, hundred, thousand);
 43                 break;
 44
 45         case 3:
 46                 printf("%d,%d,%d", hundred, ten, indiv);
 47                 printf("\n反序数字是:");
 48                 printf("%d,%d,%d\n", indiv, ten, hundred);
 49                 break;
50
 51         case 2:
 52                 printf("%d, %d", ten, indiv);
 53                 printf("\n反序数字是:");
 54                 printf("%d,%d\n", indiv, ten);
 55                 break;
 56
 57         case 1:
 58                 printf("%d", indiv);
 59                 printf("\n反序数字是:");
 60                 printf("%d\n", indiv);
 61                 break;
 62
 63     }
 64
                                                            

[此贴子已经被作者于2016-9-24 21:59编辑过]

2016-09-16 21:54
hm605538951
Rank: 2
等 级:论坛游民
帖 子:25
专家分:27
注 册:2016-7-16
收藏
得分:0 
[student@server c_program]$ gcc bit.c -o bit
[student@server c_program]$ ./bit
请输入一个整数 (0-99999):12
位数是2
每一个数位的数字是:1, 2
反序数字是:2,1
[student@server c_program]$ ./bit
请输入一个整数 (0-99999):88888
位数是5
每一个数位的数字是:8, 8, 8, 8, 8
反序数字是:8,8,8,8,8
[student@server c_program]$ ./bit
请输入一个整数 (0-99999):99999
位数是5
每一个数位的数字是:9, 9, 9, 9, 9
反序数字是:9,9,9,9,9
[student@server c_program]$ ./bit
请输入一个整数 (0-99999):12345
位数是5
每一个数位的数字是:1, 2, 3, 4, 5
反序数字是:5,4,3,2,1
2016-09-16 21:55
hm605538951
Rank: 2
等 级:论坛游民
帖 子:25
专家分:27
注 册:2016-7-16
收藏
得分:0 
[student@server c_program]$ ./bit
请输入一个整数 (0-99999):1234567
位数是5
每一个数位的数字是:123, 4, 5, 6, 7
反序数字是:7,6,5,4,123
2016-09-16 21:57
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:0 
回复 7楼 hm605538951
int,注意读数的数据范围

φ(゜▽゜*)♪
2016-09-17 07:46
hm605538951
Rank: 2
等 级:论坛游民
帖 子:25
专家分:27
注 册:2016-7-16
收藏
得分:0 
回复 8楼 书生牛犊
是的,谢谢!

[student@server c_program]$ ./type
In This Suite :
 num_int = 32
 num_short = 16
 num_long = 64
 num_long_long = 64

做了一个超范围(0-99999)的数的测试,蛮有趣的

[此贴子已经被作者于2016-9-17 09:04编辑过]

2016-09-17 09:01
快速回复:为什么这个程序只能进行一半,请会的指教。
数据加载中...
 
   



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

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