C语言逆向输出一个数组的所有值(递归和非递归)

使用递归和非递归逆向输出一个数组的所有元素

非递归实现:

例如:数组a为12345;逆质输出后为54321.

#include<stdio.h>
#include<string.h>
#define N 500  //表示宏定义,用500代替下面程序的N,可以根据自己的需要改 
int main(void)
{
int i;
char a[N+1];
gets(a);    //从键盘中输入数字 
i=strlen(a)-1;   //计算出输入数字的个数 
    for(i;i>-1;i--)
    printf("%5d",a[i]-'0');      //由于数组中数字是以字符串的形式输入因此需要减去‘0’才能转换成数字 
return 0;

}


递归实现:

#include<stdio.h>
#include<string.h>
#define N 500  //表示宏定义,用500代替下面程序的N,可以根据自己的需要改 
void Preprint(char a[],int n)
{
if(n){
printf("%5d",a[n-1]-'0');
Preprint(a,n-1);
}
}
int main(void)
{ int n;
char a[N+1];
gets(a);    //从键盘中输入数字 
n=strlen(a);   //计算出输入数字的个数 
Preprint(a,n);
return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_39241239/article/details/80069088