C语言问题,怎么才能倒序?

来源:百度知道 编辑:UC知道 时间:2024/05/27 13:27:26
main()
{int c1,c2,c3,c4,c5;
printf("please input:")
scanf("%d%d%d%d%d",&c1,&c2,&c3,&c4,&c5);
if(c5!=0)printf("5:\n%d%d%d%d%d",c5,c4,c3,c2,c1);
else {if(c4!=0)printf("4:\n%d%d%d%d",c4,c3,c2,c1);
else {if(c3!=0)printf("3:\n%d%d%d%",c3,c2,c1);
else {if(c2!=0)printf("2:\n%d%d",c2,c1);
else printf("1:\n",c1);}}}}
怎么输入12345时,不是5:54321呢?我的思路就是想让它判断我输入几位数后(五位内),回车后能截止,但结果不能;运行是五个54321,可我只要一个,而且想输入321后同样能运行。
问题补充:我是想得到一个数的倒序,如我输入"12345"得到"54321",输入"789"得到"987".
没学过数组啊!!!!!!!!你们说的,我还是不行啊!!!在turboc上运行是还是5个连续数字!!!!!怎么班??用我的思路,或请指出我思路存在的问题!!!

//如果你没学过数组的话,想处理自动判断输入个数太困难了
//因为输入的时候,空格和回车都是变量间的分隔符
//其实可以先用一个char*接收输入,然后自己处理输入的数据

=================无敌分割线===============
//知道你的倒序什么意思了,还以为是要排序呢
#include <stdio.h>
#include <conio.h>

#define MAX 128 //数组最大元素

void main()
{
int a[MAX] = {0};
int size = 0;
int i, j;
int tmp;

printf("how many inputs?"); //需要知道一共有多少个输入
scanf("%d", &size);

for (i = 0; i < size; i++) //得到输入
{
scanf("%d", &a[i]);
}

//下面进行排序
for (i = 0; i < size; i++)
for (j = i; j < size; j++)
if (a[i] < a[j]) //大数排在前面
{
tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}

for (i = 0; i < size; i++)
printf("%d", a[i]);

getch();
}

你的程序没错啊,我亲自调试了一下,printf("please input:")
后面有 个“;”,你没打出来,我的机子上是vc++,行得通