内蒙古大学期末考试题(C语言)1、定义递归函数 int f( int x, int y);返回 xy
的值。
在主函数中,让用户输入两个整形数x和y,
用x和y作参数调用函数f,输出返回结果。
(假设用户输入的都是正整数)
2、定义函数 int g (int a[20] , int n); 用于对数组a进行如下操作:去掉一个最大值,去掉一个最小值,对剩下的值进行降序排序。n是数组中的实际元素个数。注意:函数g是通用函数。
定义函数 int show ( int a[20], int n); 用于输出数组中n个元素。
在主函数中定义...
1、定义递归函数 int f( int x, int y);返回 xy
的值。
在主函数中,让用户输入两个整形数x和y,
用x和y作参数调用函数f,输出返回结果。
(假设用户输入的都是正整数)
2、定义函数 int g (int a[20] , int n); 用于对数组a进行如下操作:去掉一个最大值,去掉一个最小值,对剩下的值进行降序排序。n是数组中的实际元素个数。注意:函数g是通用函数。
定义函数 int show ( int a[20], int n); 用于输出数组中n个元素。
在主函数中定义大小为20 的数组,初始化为10个无序的整数,定义变量n并且初始化为10。调用函数g对数组进行处理,在处理前、后分别调用show函数输出数组的内容。
注意,修改数组初始化元素的个数和数值之后,程序应无误!
我的做法:
第一道:
#include
void main()
{
int f( int x, int y);
int x,y;
printf("请输入两个整形数x和y\n");
scanf("%d%d",&x,&y);
printf("结果为%d",f(x,y));
}
int f( int x, int y)
{
if(y==1)
return x;
else
return f(x,y-1)*x;
}
扩展训练:
int Factorial ( int n ) {
if ( n = = 0 )
return 1 ;
else
return n * Factorial ( n - 1 ) ;
}
#include
int Factorial ( int ) ;
void main ()
{ int k ;
printf("Compute Factorial(k) , Please input k: " );
scanf("%d", &k) ;
printf("%d!=%d\n",k,Factorial(k)); 非递归调用
}
int Factorial ( int n )
{ if ( n == 0 )
return 1 ;
else
return n * Factorial ( n - 1 ) ; 递归调用
}
注意执行顺序,该节点是在整个左枝执行完之后才执行的
本文档为【内蒙古大学期末考试题(C语言)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。