第1个回答 2007-05-14
1.程序分析:用第一个与最后一个交换。
2.程序源代码:
#define N 5
main()
{ int a[N]={9,6,5,4,1},i,temp;
printf("\n original array:\n");
for(i=0;i<N;i++)
printf("%4d",a[i]);
for(i=0;i<N/2;i++)
{temp=a[i];
a[i]=a[N-i-1];
a[N-i-1]=temp;
}
printf("\n sorted array:\n");
for(i=0;i<N;i++)
printf("%4d",a[i]);
}
第2个回答 2007-05-14
#include <stdio.h>
#include <string.h>
#include <math.h>
typedef unsigned UINT;
inline const char* CharToSz(char c)
{
static char szBuffer[2];
szBuffer[0] = c;
return szBuffer;
}
const char* ReverseToSz(UINT n, char* dest)
{
return n > 0 ? strcat(dest, CharToSz(n % 10 + '0')), ReverseToSz(n/10, dest): dest;
}
UINT Digit(UINT n)
{
UINT uiDigit = 0;
do{
++uiDigit;
n /= 10;
}while(n != 0);
return uiDigit;
}
UINT ReverseToUINT(UINT n)
{
return n > 0 ? (n % 10) * (UINT)pow(10.0, Digit(n)-1) + ReverseToUINT(n/10) : 0;
}
int main()
{
UINT uiInput;
char szBuffer[64] = {0};
scanf("%d", &uiInput);
// method 1:
printf("%s\n", ReverseToSz(uiInput, szBuffer));
// method 2:
printf("%d\n", ReverseToUINT(uiInput));
}
第3个回答 2007-05-14
main()
{
int a[10]={1,2,3,4,5,6,7,8,9,0};
int i,j,t,m;
m=10/2
i=0;j=9;
do
{
t=a[i];a[i]=a[j];a[j]=a[i];
i++;
j--;
}while(i<=m)
for("%d ",a[i]);
}
第4个回答 2007-05-14
上面的不对.根本就没有输入,简直就是一派胡言
main()
{
int k,t=0,m;
printf("请输入一个正整数");
scanf("%d",&k);
while(k!=0)
{
m=k%10;
t=t*10+m;
k/=10;
}
printf("the result is %d\n",t);
}本回答被提问者采纳