实现将任意正整数按反序输出,如输入12345则输出54321,用c语言做题,求各位大神指教

如题所述

#include <stdio.h>
#include <string.h>
#define MAX 100    //整数长度上限100,可自定义
int main()
{
    char num[MAX]={0};
    int len;
    scanf("%s",num);
    len=strlen(num);
    while(len--)
    {
        printf("%c",num[len]);
    }
    printf("\n");
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-06-08
利用数组排序就可以了 很简单追问

能否做出来看下

追答

int i,n=1;
int a[ ],b[ ];
printf (“请输入正整数个数:%d”,i);
scanf(“%d”&i)
for (n<=i,n++)


敲的太慢 我用纸写了拍照

稍等

上面用两个数组比较麻烦,直接用倒置好一点

马上写好了

你是要输入12345输出54321。还是要适用于所有这种情况

追问

适用于所有这种情况

追答

#include
int main()
{
int a[5]={1,3,4,6,2} ;
int i,a_size=5 ;
//折半法,交换前后的数
for(i=0;i < a_size/2 ; i++ )
{
//交换对应位上的数
int temp=a[i];
a[i]=a[a_size-i-1];
a[a_size-i-1]=temp;
}
for(i=0;i < a_size ; i++ )
printf("%d " , a[i] );
printf("\n");
system("pause");
return 0;
}
这个是输入12345,输出54321的,实用所有情况的只需要修改一下

适用于所有情况的加个这个就可以 就是你自己输入数组

n是整数个数 因为不确定需要自己输入 a[n]相当于前面的a[5].之后就和上面的差不多

也可以永两个数组 把a[0]给b[n-1].一个循环就可以解决

方法有很多 基本都是数组知识

本回答被提问者采纳
第2个回答  2016-06-08
83552
相似回答