【实验题2】程序填空:定义递归函数reverse(n),功能是实现对一个整数逆序输出,如输入整数153,则输出3 5 1.
算法分析:(1)递归函数reverse(int n)的基本思想:首先直接输出整数n的最低位(n%10),然后检查去除该最低位之后,n是否还存在高数位,若有,则对去除最低位的剩余部分(n/10)用递归函数reverse()予以输出;
(2)主函数main()负责: 输入整数n;若n为负数,取相反数;调用reverse1(); 调用reverse2().
# include <stdio.h>
void reverse( int n); //函数声明
void main ( )
{ int n;
printf("Input n: "); scanf("%d",&n);
if(n<0) n=-n;
printf("The reversed digits are: ");
;
printf("\n");
}
void reverse(int n) //定义递归函数
{ printf("%d", ); //输出最低位数
if(n/10!=0) reverse( ); //如果除去最低位后还有其他数字,递归处理剩余部分
}
}
运行程序,并输入:12345, 则输出:
# include <stdio.h>
void reverse( int n); //函数声明
void main ( )
{ int n;
printf("Input n: "); scanf("%d",&n);
if(n<0) n=-n;
printf("The reversed digits are: ");
reverse(n);
printf("\n");
}
void reverse(int n) //定义递归函数
{ printf("%d", n%10); //输出最低位数
if(n/10!=0) reverse(n/10); //如果除去最低位后还有其他数字,递归处理剩余部分
}
void reverse( int n); //函数声明
void main ( )
{ int n;
printf("Input n: "); scanf("%d",&n);
if(n<0) n=-n;
printf("The reversed digits are: ");
reverse(n);
printf("\n");
}
void reverse(int n) //定义递归函数
{ printf("%d", n%10); //输出最低位数
if(n/10!=0) reverse(n/10); //如果除去最低位后还有其他数字,递归处理剩余部分
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2014-04-15
n % 10
n / 10
n / 10