| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 369 人关注过本帖
标题:[求助]哪里有错误
只看楼主 加入收藏
SilentHunter
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-11-11
收藏
 问题点数:0 回复次数:1 
[求助]哪里有错误

题目:输入一个不多于5位的正整数
要求:1 求他是几位数
2 分别输出每一个数字
3 按逆序输出各位数字
例如 原数为321 应输出123

以下是我写的程序:
#include<stdio.h>
#include<math.h>
void main()
{
long int num;
int indiv,ten,hundred,thousand,ten_thousand,place;
printf("请输入一个整数(0~99999):");
scanf("%ld",&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("每位数字为:");
ten_thousand=num/10000;
thousand=(int)(num-ten_thousand*10000)/1000;
hundred=(int)(num-ten_thousand*10000-thousand*1000)/100;
ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;
indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10);
switch(place)
{case5:printf("%d,%d,%d,%d,%d",ten_thousand,thousand,hundred,ten,indiv);
printf("\n 反序数字为:");
printf("%d%d%d%d%d\n",indiv,ten,hundred,thousand,ten_thousand);
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;
}
}

请各位帮我看一下为什么只能显示出位数而其他两项显示不出来

[此贴子已经被作者于2006-12-15 23:49:48编辑过]

搜索更多相关主题的帖子: include 正整数 
2006-12-15 23:48
mayudong1
Rank: 2
等 级:论坛游民
威 望:1
帖 子:348
专家分:21
注 册:2006-4-18
收藏
得分:0 
case 1:
case 2:
...
中间加空格

2006-12-16 09:07
快速回复:[求助]哪里有错误
数据加载中...
 
   



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

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