| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 427 人关注过本帖
标题:[求助]5位整数倒序输出出错(已解决)
收藏  订阅  推荐  打印 
bccnfyz
Rank: 1
等级:新手上路
帖子:2
积分:120
注册:2006-10-20
[求助]5位整数倒序输出出错(已解决)

编了一个输入任意整数,然后将该整数倒序输出的程序。
在输入整数的位数<=4位时,程序运行正常,但输入位数>=5位时候,经常输出的是一个负数。求教各位大虾,是哪儿出了问题。例如:输入12345,输出变成了:-11215。程序如下:

#include "stdio.h"
#include "math.h"

main() {
int i = 0,s = 0,l,t,p,n,k;

printf("input a integer:\n");
scanf("%d",&n);
k = n;

do {
i = i+1;
n = n/10;
} while (n != 0);

for (l=1;l <= i;l++) {
t = pow10(l-1);
p = pow10(i-l);
s = s+((k/t)%10)*p;
}

printf("s = %d\n",s);
getch();
}


用的tc2.0编的,感觉是编译器的问题,导致的错误。

[此贴子已经被作者于2006-11-13 14:38:13编辑过]

搜索更多相关主题的帖子: 整数  倒序  输出  
2006-10-20 11:02
purana
Rank: 12Rank: 12Rank: 12
来自:广东-广州
等级:版主
威望:66
帖子:6040
积分:61390
注册:2005-6-17

感觉用数组...将各元素放到数组的各下标中...然后再用循环倒序输出....这样更简单..

我的msn: myfend@hotmail.com
2006-10-20 11:05
nuciewth
Rank: 12Rank: 12Rank: 12
来自:我爱龙龙
等级:版主
威望:93
帖子:9521
积分:95068
注册:2006-5-23


while(num)
{
printf("%d",num%10);
num/=10;
}
就可以了.

倚天照海花无数,流水高山心自知。
2006-10-20 11:18
nuciewth
Rank: 12Rank: 12Rank: 12
来自:我爱龙龙
等级:版主
威望:93
帖子:9521
积分:95068
注册:2006-5-23

以下是引用purana在2006-10-20 11:05:25的发言:
感觉用数组...将各元素放到数组的各下标中...然后再用循环倒序输出....这样更简单..

姐姐.用字符串更简单.


倚天照海花无数,流水高山心自知。
2006-10-20 11:19
husi
Rank: 2
等级:注册会员
威望:1
帖子:46
积分:560
注册:2006-10-17

以下是引用bccnfyz在2006-10-20 11:02:21的发言:

编了一个输入任意整数,然后将该整数倒序输出的程序。
在输入整数的位数<=4位时,程序运行正常,但输入位数>=5位时候,经常输出的是一个负数。求教各位大虾,是哪儿出了问题。例如:输入12345,输出变成了:-11215。程序如下:

#include "stdio.h"
#include "math.h"

main() {
  int i = 0,s = 0,l,t,p,n,k;

  printf("input a integer:\n");
  scanf("%d",&n);
  k = n;

  do {
    i = i+1;
    n = n/10;
  } while (n != 0);

  for (l=1;l <= i;l++) {
    t = pow10(l-1);
    p = pow10(i-l);
    s = s+((k/t)%10)*p;
  }

  printf("s = %d\n",s);
  getch();
}



[此贴子已经被作者于2006-10-20 11:54:19编辑过]


2006-10-20 11:48
husi
Rank: 2
等级:注册会员
威望:1
帖子:46
积分:560
注册:2006-10-17

对本论坛的东西不太会,帖子怎么编辑呢?
好像是你编译器的问题吧,我的vc6运行就没有问题。不过你程序里面有俩个错误。

2006-10-20 11:56
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.102618 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved