帮忙看一下哪里错了!

来源:百度知道 编辑:UC知道 时间:2024/04/20 21:22:56
帮忙看看哪里错了!!!!!!!!多谢!

题目:输入一个5位数,如24863,各位数按从大到小排列,输出一个新的五位数,输出结果应为86432. 再如输入12345.输出54321.

我的程序:A#include <stdio.h>
#include <string.h>
#include <conio.h>
void main()
{
int a[5];
long int p;
long q;
int i,j,t;
clrscr();
puts("*******************************************\n");
puts("Please input a number between 10000-99999:\n");
scanf("%ld",&p);
a[0]=p/10000;
a[1]=p/1000%10;
a[2]=p/100%10;
a[3]=p/10%10;
a[4]=p%10;
for (i=0;i<4;i++)
for (j=0;j<4-i;j++)
if (a[j]<a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for (i=0;i<5;i++) printf ("%d ",a[i]);
q=10000*a[0]+1000*a[1]+100*a[2]+10*a[3]+a[4];
printf("The new number is:\n");
printf("%ld\n",q);

}

我用C++调试过了,你的程序没有错误.注意:程序的第一句#include <stdio.h> 前面不应该有字母A!还有一点,我调试时候去掉了clrscr()一句,因为它编译通不过,但是在C语言中是可以正常使用的.
你自己试试吧!

程序正确
也许是你逻辑上有错误