第1个回答 2014-06-12
五个数" 倒置", 是把输入数的次序 倒序 输出,还是把每个数 里 的 数字 倒置?
下面程序完成 每个数 里 的 数字 倒置, 并且 输入数的次序 倒序 输出。
例如:
输入 9 876 54 321 6842
输出 2486 123 45 678 9
#include <stdio.h>
main()
{
int x[5];
int *p=x,t;
int i,j;
char s[20],L;
printf("please input 5 data:\n");
for (i=0;i<5;i++) scanf("%d",&x[i]);
for (i=0;i<5;i++){
printf("%d ",x[i]);
sprintf(s,"%d",x[i]);
L = strlen(s);
for (j=0;j<L/2;j++){
t=s[j];s[j]=s[L-1-j];s[L-1-j]=t;
}
s[L]='\0';
sscanf(s,"%d",&x[i]);
// printf("%d \n",x[i]);
}
t=*p; *p = *(p+4); *(p+4)=t;
t=*(p+1); *(p+1) = *(p+3); *(p+3)=t;
for (i=0;i<5;i++) printf("%d ",x[i]);
return 0;
}本回答被网友采纳
第2个回答 2014-06-12
#include<stdio.h>
void main()
{ int a[5],i,*p,*q,k;
for ( i=0,p=a;i<5;i++,p++ ) scanf("%d",p);
for ( i=0,p=a,q=p+4;i<5/2;i++,p++,q-- ) { k=(*p);(*p)=(*q);(*q)=k; }
for ( i=0,p=a;i<5;i++,p++ ) printf("%d ",*p);
}