二级C语言改错及解答

上传人:新** 文档编号:561261648 上传时间:2022-11-29 格式:DOC 页数:21 大小:277.50KB
返回 下载 相关 举报
二级C语言改错及解答_第1页
第1页 / 共21页
二级C语言改错及解答_第2页
第2页 / 共21页
二级C语言改错及解答_第3页
第3页 / 共21页
二级C语言改错及解答_第4页
第4页 / 共21页
二级C语言改错及解答_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《二级C语言改错及解答》由会员分享,可在线阅读,更多相关《二级C语言改错及解答(21页珍藏版)》请在金锄头文库上搜索。

1、程序改错题1. 给定程序MODI1.C中函数的功能是:用递归算法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:1、1、2、3、5、8、13、21、。例如:若给n输入7,该项的斐波拉契数值为13。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。long fun(int g)/*found*/ switch(g); /去掉; case 0: return 0;/*found*/ case 1 ;case 2 : return 1 ; /case 1: return( fun(g-1)+fun(g-2) );main() long

2、 fib; int n; printf(Input n: ); scanf(%d,&n); printf(n = %dn,n); fib=fun(n); printf(fib = %dnn,fib);2. 给定程序MODI1.C中函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求复制三个字符之后插入一个空格。void fun(char *p, char *b) int i, k=0; while(*p) i=1; while( i=3 & *p ) /*found*/ bk=p; /bk=*p k+; p+; i+; if(*p) /*found*/ bk+= ; /bk+=; b

3、k=0;main() char a80,b80; printf(Enter a string: ); gets(a); printf(The original string: ); puts(a); fun(a,b); printf(nThe string after insert space: ); puts(b); printf(nn);3. .给定程序MODI1.C中函数fun的功能是:找出一个大于形参m且紧随m的素数,并作为函数值返回。int fun(int m) int i, k ; for (i = m + 1 ; ; i+) for (k = 2 ; k i ; k+)/*fou

4、nd*/ if (i % k != 0) /if(i%k=0) break ;/*found*/ if (ksl) return t; else return s;main() char a80,b80,*p,*q; int i; printf(nEnter a string : ); gets(a); printf(nEnter a string again : ); gets(b); printf(The longer is :n%sn,fun(a,b);6. .给定程序MOID1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。typedef

5、 struct aa int data; struct aa *next; NODE;NODE *Creatlink(int n, int m) NODE *h=NULL, *p, *s; int i;/*found*/p=(NODE )malloc(sizeof(NODE); /(NODE *) h=p; p-next=NULL; for(i=1; idata=rand()%m; s-next=p-next; p-next=s; p=p-next; /*found*/ return p; /return houtlink(NODE *h) NODE *p; p=h-next; printf(

6、nnTHE LIST :nn HEAD ); while(p) printf(-%d ,p-data); p=p-next; printf(n);main() NODE *head; head=Creatlink(8,22); outlink(head);7. .给定程序MODI1.C中函数fun的功能是:利用插入排序对字符串的字符按从小到大的顺序进行排序。插入法的基本算法是:先对字符串中的头两个元素进行排序。然后把第三个字符插入到前两字符中,插入后前三个字符依然有序;再把第四个字符插入到前三个字符中,。待排序的字符串已在主函数中赋予。#define N 80void insert(char

7、*aa) int i,j,n; char ch;/*found*/ n=strlen aa ; /n=strlen(aa) for( i=1; i=0) & ( chaaj ) aaj+1=aaj; j-; aaj+1=ch; main( )char aN=QWERTYUIOPASDFGHJKLMNBVCXZ; int i ; printf (The original string : %sn, a); insert(a) ; printf(The string after sorting : %snn,a );8. 给定程序MOID1.C中函数fun的功能是:求出两个非零整数的最大公改为re

8、turn h约数,并作为函数值返回。例如,若给num1和num2分别输入49和21,则输出的最大公约数为7;若给num1和num2分别输入27和81,则输出的最大公约数为27.#include int fun(int a,int b) int r,t; if(ab) /*found*/ t=a; b=a; a=t; /t=a;a=b;b=t r=a%b; while(r!=0) a=b; b=r; r=a%b; /*found*/ return(a); /return (b);main() int num1, num2,a;printf(Input num1 num2:); scanf(%d%

9、d,&num1,&num2);printf(num1= %d num2= %dnn,num1,num2); a=fun(num1,num2);printf(The max common divisor is %dnn,a);9. 给定程序MODI1.C中函数fun的功能是:根据形参m的值(2m9),在m行m列的二维数组中存放如下所示规律的数据,由main函数输出。例如,若输入2 则输出1 22 4若输入4 则输出:1 2 3 42 4 6 83 6 9 124 8 12 16#define M 10int aMM = 0 ;/*found*/fun(int *a, int m) / / fun(int (*a)10,int m) int j, k ;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号