C语言函数习题(4)

2020-04-21 03:54

5.

#include

void fun(int *s, int m, int n) {

int t;

while(m

{t=s[m]; s[m]=s[n]; s[n]=t; m++; n--;} }

main() {

Int a[5]={1,2,3,4,5},k; fun(a,0,4);

for(k=0;k<5;k++) printf(\ \}

6.

int fun(char s[]) {

int n=0;

while(*s<='9'&&*s>='0') {

n=10*n+*s-'0'; s++; }

return(n); }

main() {

char s[10]={'6','1','*','4','*','9','*','0','*'}; printf(\}

7.

#include Int fun(int x) {

int y;

if(x==0||x==1) return(3); y=x*x-fun(x-2) return y; }

main() {

int x,y;

x=fun(3); y=fun(4);

printf(\}

8.

fun(int n,int *s) {

int f1, f2;

if(n==1 || n==2) *s=1; else {

fun(n-1, &f1); fun(n-2, &f2); *s=f1+f2; } }

main() {

int x;

fun(6,&x);

printf(\}

三、填空题

1. 以下程序实现了计算x的n次方,请将程序填写完整。

float power(float x,int n) { int i;

float t=1;

for(i=1;i<=n;i++) t=t*x; 【1】; }

main( )

{ float x,y; int n; scanf(\ y=power(x,n); printf(\}

2. 以下程序实现了求两个数的最大公约数,请将程序填写完整。

int divisor(int a,int b) { int r; r=a%b;

while(【2】)

{ a=b;b=r;r=a%b;} return b; }

void main() { int a,b,d,t;

scanf(\if (a

{ t=a; a=b; b=t; } d=divisor(a,b);

printf(\}

3. 以下函数my_cmp( )的功能是比较字符串s和t的大小,当s等于t时返回0,否则返

回s和t的第一个不同字符的ASCII码差值,即s>t时返回正值,s

while(*s == *t) {

if (【3】) return 0; ++s; ++t; }

return 【4】; }

4. 以下程序的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小

到大的顺序排列,函数返回删除后数组中数据的个数。请将程序填写完整。 例如,若一维数组中的数据是: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10 删除后,数组中的内容应该是: 2 3 4 5 6 7 8 9 10。

#include #define N 80

int fun(int a[], int n) { int i,j=1;

for(i=1;i

main( ) {

int a[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10},i,n=19; printf(\ for(i=0;i

printf(\ for(i=0; i

四、编程题

1. 请用自定义函数的形式编程实现,求s=m!+n!+k!,m、n、k从键盘输入(值均小于7)。 2. 请用自定义函数的形式编程实现求10名学生1门课程成绩的平均分。

3. 请编写两个自定义函数,分别实现求两个整数的最大公约数和最小公倍数,并用主函数

调用这两个函数,输出结果(两个整数由键盘输入得到)。 4. 已知二阶Fibonacci数列: 0 Fib(n) 若n=0 1 若n=1 Fib(n-1)+Fib(n-2) 其他情况

请编写一个递归函数,实现求Fib(n)。


C语言函数习题(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:TRI程式开发指导手册

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: