| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 516 人关注过本帖
标题:[原创]行结课错误?
取消只看楼主 加入收藏
wwiilla
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2005-9-5
收藏
 问题点数:0 回复次数:2 
[原创]行结课错误?

给一个不多于5位数的正整数按逆序打印出来,如输入123输出321
#include<stdio.h>

void main()
{
long n,a;
int n1,n2,n3,n4,n5,b,c,d;

scanf("%d",&n);

if(n >= 0 && n < 100000)
{
if ( n >= 10000 && n <100000 )
{
a = n % 10000 ;
b = a % 1000 ;
c = b % 100 ;
d = c % 10 ;
n1 = (n - a) / 10000;
n2 = (a - b) / 1000;
n3 = (b - c) / 100;
n4 = (c - d) / 10;
n5 = d ;
printf("\nThe number =%d%d%d%d%d\n",n5,n4,n3,n2,n1);
}
else if ( n >= 1000 && n < 10000 )

{ a = n % 1000;
b = n % 100;
c = n % 10;
n1 = (n - a) / 1000;
n2 = (a - b) / 100;
n3 = (b - c) / 10;
n4 = c;
printf("\nThe number =%d%d%d%d\n",n4,n3,n2,n1);
}
else if ( n>=100 && n < 1000)
{
a = n % 100;
b = a % 10;
n1 = (n - a) / 100;
n2 = (b - a) / 10;
n3 = b;
printf("\nThe number =%d%d%d\n",n3,n2,n1);
}
else if ( n >= 10 && n < 100)
{
a = n % 10;
n1 = (n - a) / 10;
n2 = a;
printf("\nThe number =%d%d\n",n2,n1);
}
else
{
a = n;
printf("\nThe number =%d%d\n", a);
}
}
else printf("\nThe number out control\n");
}
为什么运行结果不对,输入98765是结果不对,但输入较小的数字如12345是是正确的。
在单步调试是全部错误。

2006-02-24 12:34
wwiilla
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2005-9-5
收藏
得分:0 
cordier 谢了
2006-02-24 16:11
wwiilla
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2005-9-5
收藏
得分:0 
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define MAX 12
main()
{
long n;
char str[MAX],*temp;
system("cls");
do
{
printf("n=");
scanf("%ld",&n);
}while(n<0||n>999999999);
ltoa(n,str,10);
temp=str;
while (*temp!='\0')
temp++;
while (temp--!=str)
printf("%c",*temp);
getch();
}
这段在编译时出现声明语法错
2006-02-24 16:50
快速回复:[原创]行结课错误?
数据加载中...
 
   



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

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