2020年全国计算机等级考试二级c语言上机精选题库(共50套).pdf

上传人:yi****st 文档编号:7166653 上传时间:2022-02-20 格式:PDF 页数:164 大小:5.20MB
返回 下载 相关 举报
2020年全国计算机等级考试二级c语言上机精选题库(共50套).pdf_第1页
第1页 / 共164页
2020年全国计算机等级考试二级c语言上机精选题库(共50套).pdf_第2页
第2页 / 共164页
点击查看更多>>
资源描述

《2020年全国计算机等级考试二级c语言上机精选题库(共50套).pdf》由会员分享,可在线阅读,更多相关《2020年全国计算机等级考试二级c语言上机精选题库(共50套).pdf(164页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、20202020 年全国计算机等级考试二级年全国计算机等级考试二级 c c 语言上语言上机精选题库(共机精选题库(共 5050 套)套)第第 1 1 套题套题一、填空题请补充 main 函数,该函数的功能是:计算每个学生科目的平均分,并把结果保存在数组 bb 中。例如,当scoreNM=78.5,84,83,65,63,88,91.5,89,93,95,72.5,65,56,75,77时,三个学生的平均分为:74.7 91.3 69.1。仅在横线上填入所编写的若干表达式或语句, 勿改动函数中的其他任何内容。#include #defineN 3#defineM 5main()inti, j;s

2、tatic floatscoreNM =78.5, 84, 83, 65, 63,;88, 91.5, 89, 93, 95,72.5, 65, 56, 75, 77floatbbN;for (i=0; iN; i+)_1_;for (i=0; iN; i+)for (i=0; iN; i+)printf(nstudent%dtaverage=%5.1f, i+1, bbi);for (j=0; jM; j+)_2_;bbi /= M;二、改错题下列给定程序中,函数fun 的功能是:根据整型行参m,计算如下公式的值。y=1111100100200200300300mm例如,若 m=2000,则

3、应该输出:0.000160。请改正程序中的错误,使它能得出正确的结果。#include #include /*found*/fun(intm)main()三、编程题请编写函数 fun,该函数的功能是:统计个年龄段的人数。N个年龄通过调用随机函数获得,并放在主函数的age 数组中;要求函intn = 2000;printf(nThe result is %lfn, fun(n);doubley = 0, d;inti;/*found*/for (i=100, i=m, i+=100)return (y);d = (double)i*(double)i;y += 1.0/d;数把 0 至 9 岁年

4、龄段的人数放在 d0中, 把 10 至 19 岁年龄段的人数放在 d1中, 把 20 至 29 岁年龄段的人数放在 d2中, 其余依此类推,把 100 岁(含 100)以上年龄的人数都放在 d10中。结果在主函数中输出。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun的花括号中填入所编写的若干语句。#include #defineN50#defineM11void fun(int *a, int *b)double rnd()static t=29, c=217, m=1024, r=0;r=(r*t+c)%m;return(double)r/m);main()答案:答案:i

5、ntageN, i, dM;FILE *out ;for(i=0;iN; i+)agei=(int)(115*rnd();printf(The original data :n);for(i=0; iN; i+)printf(i+1)%10=0?%4dn:%4d,agei);printf(nn);fun( age,d);out=fopen (out.dat,w);for(i=0;i10;i+)printf(Over100:%4dn, d10);fprintf(out, Over100:%4dn, d10);fclose (out );printf(%4d-%4d:%4dn, i*10, i*1

6、0+9, di);fprintf(out, %4d-%4d:%4dn, i*10, i*10+9, di);一、1、bbi=0 或 *(bb+i)=02、bbi+=scoreij或bbi=bi+scoreij或bbi=scoreij+bbi二、1、fun(int m)应改为 double fun(int m)2、for(i=100,i=m,i+=100)应改为 for(i=100;i=m;i+=100)三、voidfun (int*a, int*b)inti, j;for(j=0;jM;j+)bj=0;for(i=0;i=0&ai=10&ai=20&ai=30&ai=40&ai=50&ai=6

7、0&ai=70&ai=80&ai=90&ai=99)b9+=1;elseb10+=1;第第 2 2 套套:填空题请补充 main 函数,该函数的功能是:从键盘输入一组字符串, 以 *结束输入,并显示出这个字符串。例如,输入 abcdef *, 结果显示 abcdef。仅在横线上添入所编写的若干表达式或语句, 勿改动函数中的其他任何内容。#include #define N 80main()int i = -1, j = 0;char strN;printf(n Input a string n);doi+;scanf(_1_); while (_2_);printf(n * display t

8、he string * n);while (j i)printf(_3_);j+;答案: (1)“%c”,&stri (2)stri!=* (3)”%c”,strj改错题:下列给定程序中,函数fun 的功能是:计算并输出high 以内最大的10 个素数之和。 High 由主函数传给 fun 函数。若 high 的值为 100,则函数的值为 732。#include #include #include int fun(int high)int sum = 0, n = 0, j, yes;while (high = 2) & (n 10)yes = 1;for (j=2; j=high/2; j

9、+)/*found*/if (high%j = 0)yes = 0;breakif (yes)sum += high;n+;high-;return sum;main()printf(%dn, fun(100);答案:break 改为 break;程序设计:请编写函数 fun,该 函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开, 一行的开始和结束都没有空格。 #include #include #define N 80int fun(char *s)main()char lineN;int num=0;F

10、ILE *out;char *test = HelloWorld!, This isateststring., a b, cde f g,sf l;printf(Enter a string :n);gets(line);num=fun( line );printf(The number of word is : %dnn,num);out=fopen(out.dat, w);for(num=0;num4;num+)printf(out, %dn, fun(testnum);fclose(out);第第 3 3 套套第一题:已知学生的记录由学号和学习成绩构成,N 名学生的数据已存入 a 结构体

11、中,给定程序的功能是找出成绩最低的学生记录, 通过形参返回函数。请勿改动主函数 main 和其他函数中的任何内容,仅在 fun 函数的横线上填入所编写的若干表达式或语句。#include #include #defineN 10typedefstruct sscharnum10;ints; STU;fun(STUa, STU*s)stu h;inti;h = a0;for (i=1; iN; i+)if (ai.s h.s)h = ai;*s = h;main()STUaN =A01, 81, A02, 89, A03, 66, A04, 87,A05, 77, A06, 90, A07, 7

12、9, A08, 61,A09, 80, A10, 71, m;inti;printf(* The original data *n);for (i=0; iN; i+)printf(No = %sMark = %dn, ai.num, ai.s);fun(a, &m);printf(* THERESULT *n);printf(The lowest:%s , %dn, m.num, m.s);第二题:下列给定程序中,函数 fun 的功能是:将字符串 p 中的所有字符复制到字符串 b 中,要求每复制三个字符之后插入一个空格。 例如,在调用fun 函数之前给字符串 a 输入 ABCDEFGHIJK

13、,调用函数之后,字符串之后,字符串 b 中的内容则为 ABC DEF GHI JK。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构!#include void fun(char*p, char*b)inti, k = 0;while (*p)/*found*/i = 0;/*found*/while (i3 & *p)bk = *p;k+;p+;i+;/*found*/if (*p)bk+ = ;bk = 0;main()chara80, b80;printf(Enter a string:);gets(a);printf(The

14、original string:);puts(a);fun(a, b);printf(nThe string after insert space:);puts(b);printf(nn);第三题:请编写一个函数 fun,它的功能是:计算并输出给定整数 n 的所有因子(不包括 1 与自身)之和。规定 n 的值不大于 1000。例如,若主函数从键盘给n 输入的值为 856,则输出为sum=763。请勿改动主函数 main 和其他函数中的任何内容,仅在函数fun 的花括号中填入所编写的若干语句。#include int fun(int n)main()intn,sum;FILE *out ;pri

15、ntf(Input n:);scanf(%d,&n);sum=fun(n);printf(sum=%dn,sum);out=fopen (out.dat,w);fprintf(out, %dn, fun(123);fprintf(out, %dn, fun(456);fprintf(out, %dn, fun(789);fprintf(out, %dn, fun(147);fprintf(out, %d, fun(258);fclose (out );int fun(int n)int s=0,i;for(i=2;i=n-1;i+)if(n%i=0)s+=i;return s;第第 4 4 套

16、套填空题请补充main函数,该函数的功能是:把字符串str1中的非空格字符拷贝到字符串 str2 中.例如,若 str1=”nice to meet you!”,则 str2=”nicetomeetyou!”仅在横线上填入所编写的若干表达式或语句 ,勿改动函数中的其他任何内容.#include #defineN 80main()static charstr1N = nice to meet you!;charstr2N;inti = 0, j = 0;printf(n* str1 *n );puts(str1);while (str1i)if (_1_)str2j+ = str1i;_2_;p

17、rintf(n* str2 *n );for (i=0; ij; i+)printf(%c, str2i);改错题下列给定程序中,函数 fun 的功能是:将大写字母转换为对应小写字母之后的第五个字母;若小写字母为vz,使小写字母的值减21.转换后的小写字母作为函数值返回.例如,若形参是字母A,则转换字母为小写字母 f;若形参是字母 W,则转换为小写字母 b.请改正函数 fun 中的错误,使它能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!#include #include char fun(charc)/*found*/if (c=A & c=a & c

18、=v & c=z)c = c-21;return c;main()charc1, c2;printf(nEnter a letter(A-Z):);c1 = getchar();if (isupper(c1)c2 = fun(c1);printf(nnThe letter %c change to %cn, c1, c2);elseprintf(nEnter (A-Z)!n);编程题请编写函数 fun,其功能是:将 s 所指字符串中 ASCII 值为奇数的字符删除,串中剩余字符形成一个新串放在t 所指的数组中。例如,若 s 所指字符串中的内容为 ABCDEFG12345,其中字符 A 的ASC

19、II 码值为奇数、字符 1 的 ASCII 码值也为奇数、都应当删除,其他依次类推。最后 t 所指的叔祖中的内容应是 BDF24。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。#include #include #include void fun( char *s, char t)main()chars100,t100, Msg = Please enter string S:;FILE *out ;printf(Msg);scanf(%s, s);fun(s, t);printf(nThe result is :%sn, t);out=f

20、open (out.dat,w);fun(Msg, t);fprintf(out, %s, t);fclose (out );答案:第一题:第 1 处填空 str1i!= 或 != str1i第 2 处填空 i+或+i 或 i+=1 或 i=i+1第二题:第 1 处:c=c-32;应改为 c=c+32;第 2 处:c=c-5; 应改为 c=c+5;第三题:void fun (char*s,char t)int I, j=0, n;n=strlen(s);for(i=0;in;i+)if(si%2= =0)tj=si;j+;tj=0第第 5 5 套套填空题请补充 main 函数,该函数的功能是:

21、输出一个 N*N 矩阵,要求非周边元素赋值 0,周边元素赋值 1。仅在横线上填入所编写的若干表达式或语句,勿改动函数中的其他内容。#include #defineN 10main()intbbNN;inti, j, n;printf( nInput n:n);scanf(%d, &n);for (i=0; in; i+)for (j=0; jn; j+)if (i=0|i=n-1|j=0|j=n-1)_1_;else_2_;printf(n * the result * n);for (i=0; in; i+)printf(nn);for (j=0; jn; j+)printf(%4d, bb

22、ij);改错题下列给定程序中函数 fun 的功能是: 从低位开始取出长整型变量 s中奇数位上的数,依次构成一个新数放在t 中,例如,当 s 中的数为7654321 时,t 中的数为 7531。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构!#include #include /*found*/void fun(longs, longt)longs1 = 10;*t = s%10;while (s 0)s = s/100;*t = s%10*s1 + *t;/*found*/s1 = s1*100;main()longs, t;pri

23、ntf(nPlease enter s:);scanf(%ld, &s);fun(s, &t);printf(The result is: %ldn, t);编程题请编写函数 fun,其功能是:将两个两位数的正整数 a、b 合并形成一个整数放在 c 中。合并的方式是:将a 数的十位和个位数依次放在 c 数的百位和个位上,b 数的十位和个位数依次放在 c 数的十位和千位上。例如,当 a=45,b=12,调用该函数后,c=2415。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。#include#includevoid fun (inta,int

24、b,long*c )main ()inta, b;longc;FILE *out ;printf (Inputa,b;);scanf (%d%d,&a,&b);fun (a,b,&c);printf (The result is :%ldn,c);out=fopen (out.dat,w);for (a = 20; a 50; a+=3)fun(a, 109-a, &c);fprintf(out, %ldn, c);fclose (out );答案第一题(填空题)第 1 处填空:bbij=1第 2 处填空:bbij=0第二题(改错题)第 1 处: void fun(longs,longt)应改

25、为voidfun(longs,long*t)第 2 处:s1=s1*100;应改为 s1=s1*10;第三题(编程题)voidfun (inta, intb,long*c)*c=(b%10)1000+(a/10)*100+(b/10)*10+a%10;第第 6 6 套套填空题填空题给定程序的功能是计算并输出下列级数的前 N 项之和sN,直到sN大于 Q 为止,Q 的值通过形参传入。例如,若 Q 的值为 50.0,则函数值为 50.416687。请勿改动主函数 main 和其他函数中的任何内容,仅在 fun 函数的横线上填入所编写的若干表达式或语句。试题程序:#include double fu

26、n(double q)int n;double s;n = 2;s = 2.0;while (s _1_ q)s = s + (double)(n+1)/n;_2_;printf(n=%dn,n);_3_;main()printf(%fn, fun(50);第 1 处填空:=第 2 处填空:n+或 n+=1 或 n=n+1第 3 处填空:return s 或 return (s)改错题改错题下列给定程序中,函数 fun 的功能是:根据整型参 m 的值,计算如下公式的值。例如,若 m 中的值为 5,则应输出:0.536389请改正程序中的错误,使程序能得出正确的结果。注意:不要改动 main 函

27、数,不得增行或删行,也不得更改程序的结构!试题程序: #include #include double fun(int m)double y = 1.0;int i;/*found*/for (i=2; im; i+)/*found*/y -= 1/(i*i);return(y);main()int n = 5;printf(nThe result is %1fn, fun(n);第 1 处:for (i=2;im;i+)应改为 for(i=2;i=m;j+)第 2 处:y-=1/(i*i);应改为 y-=1.0/(i*i)编程题编程题请编写一个函数 void fun(char a,char

28、b,int n),其功能是: 删除一个字符串中指定下标的字符。其中,a 指向原字符串,删除后的字符串存放在 b 所指的数组中,n 中存放指定的下标。例如,输入一个字符串World,然后输入3,则调用该函数后的结果为 Word。注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容, 仅在函数 fun 的花括号中填入所编写的若干语句。试题程序: # include # include # define LEN 20void fun(char a, char b, int n)main()char str1LEN,str2LEN;int n;FILE *out;printf(E

29、nter the string:n);gets(str1);printf(Enter the position of the stringdeleted:);scanf(%d,&n);fun(str1, str2, n);printf(The new string is:%sn,str2);fun(Hello World!, str2, 9);out = fopen(out.dat, w);fprintf(out, %s, str2);fclose(out);答案是:void fun(char a, char b, int n)intI,j=0;for(i=0;iLEN;i+)if(i!=n)

30、bj=ai;j+;bj=0第第 7 7 套套填空题填空题函数 fun 的功能是:统计长整数 n 的各个位上出现数字 1,2,3 的次数,并通过外部(全局)变量 c1,c2,c3 返回主函数。例如,当=123114350 时,结果应该为:c1=3,c2=1,c3=2.注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在 fun 函数的横线上填入所编写的若干表达式或语句。试题程序如下: #include int c1, c2, c3;void fun(long n)c1 = c2 = c3 = 0;while (n)switch(_1_)case 1:c1+;_2_;c

31、ase 2:c2+;_3_;case 3:c3+;n /= 10;main()long n = 123114350L;fun(n);printf(nThe result :n);printf(n=%ld c1=%d c2=%d c3=%dn, n, c1, c2,c3);第 1 处填空:n%10第 2 处填空:break第 3 处填空:break改错题下列给定程序中函数 fun 的功能是:用选择法对数组中的 n 个元素按从小到大的顺序进行排序。请改正程序中的错误,使程序能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!试题程序:#include #defi

32、ne N 20void fun(int a, int n)int i, j, t, p;for (j=0; jn-1; j+)/*found*/p = jfor (i=j; in; i+)if(ai ap)/*found*/p = i;t = ap;ap = ai;ai = t;main()int aN = 9, 6, 8, 3, -1, i, m = 5;printf();for (i=0; im; i+)printf(%d, ai);printf(n);fun(a, m);printf();for (i=0; im; i+)printf(%d, ai);printf(n);第 1 处:p

33、= j 应改为 p=j;第 2 处:p = i 应改为 p=j;编程题编程题请编写一个函数 int fun(int*s,int t,int*k),用来求出数组的最大元素在数组中的下标并存放在 k 所指的存储单位中。例如,输入如下整数:876 675896101301401980431451777则输出结果为:6,980。注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。试题程序: # include # include void fun(int *s, int t , int *k)main( )inta10=876,

34、675,896,101,301,401,980,431,451,777,k ;FILE *out;fun(a,10,&k);printf(%d, %dn, k, ak);out = fopen(out.dat, w);fprintf(out, %dn%d, k, ak);fclose(out);答案是:void fun (int *s,int t,int *k)int I ,max;max=s0;for(i=0;imax)max=si;*k=I;第第 8 8 套套填空题填空题请补充 main 函数,该函数的功能是:从键盘输入一组整数,使用条件表达式找出最大的整数。当输入的整数为0 时结束。例如

35、,输入 1 2 3 5 4 0 时,最大的数为 5。请勿改动主函数 main 和其他函数中的任何内容,仅在 fun 函数的横线上填入所编写的若干表达式或语句。试题程序: #include #include #define N 100main()int numN;int i = -1;int max = 0;printf(nInput integer number: n);doi+;printf(num%d=, i);scanf(%d, _1_);max = _2_ numi : max; while(_3_);printf(max=%dn, max);第 1 处填空:&numi或 num+i第

36、 2 处填空:maxmax?第 3 处填空:numi!=0 或 0!=numi改错题改错题下列给定程序中,函数 fun 的功能是:在字符串 str 中找出 ASCII 码值最大的字符,将其放在第一个位置上; 并将该字符前的原字符向后顺序移动。例如,调用fun 函数之前给字符串输入:ABCDeFGH,调用后字符串中的内容为 eABCDFGH请改正程序中的错误,使程序能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!试题程序:#include /*found*/void fun(char *p);char max, *q;int i = 0;max = pi;

37、while (pi != 0)if (max p)*q = *(q-1);q-;p0 = max;main()char str80;printf(Enter a string: );gets(str);printf(nThe original string: );puts(str);fun(str);printf(nThe string after moving: );puts(str);printf(nn);第 1 处:void fun(char *p);应改为 void fun(char *p)第 2 处:p=q+I;应改为 q=p+i;编程题编程题编写函数 fun,函数功能是:根据以下公

38、式计算 s,计算结果作为函数值返回;n 通过型参传入。S=1+1121123.1123.n例如:若 n 的值为 11 时,函数的值为 1.833333。注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数括号中填入所编写的若干语句。试题程序:#include#include#includefloat fun (int n)main()int n;float s;FILE *out;printf(nPlease enter N:);scanf(%d,&n);s=fun(n);printf(The result is: %fn,s);s = fun(28);out

39、= fopen(out.dat, w);fprintf(out, %f, s);fclose(out);答案是:float fun(int n)int i;float s=1.0,t=1.0;fun 的花for(i=2;i=n;i+)t=t+i;s=s+1/t;return s;第第 9 9 套套填空题填空题给定程序的功能是分别统计字符串中大写字母和小写字母的个数。例如,给字符串 SS 输入:AaaaBBb123CCccccd,则输出结果应为:upper=5, lower=9。请勿改动主函数 main 和其他函数中的任何内容,仅在 fun 函数的横线上填入所编写的若干表达式或语句。试题程序:#

40、include void fun(char *s, int *a, int *b)while (*s)if (*s=A & *s=a & *s=z)_2_;s+;main()char s100;int upper = 0, lower = 0;printf(nPlease a string : );gets(s);fun(s, &upper, &lower);printf(n upper = %d lower = %dn, _3_);第 1 处填空:(*a)+或+(*a)或*a=*a+1 或*a+=1第 2 处填空:(*b)+或+(*b)或*b=*b+1 或*b+=1第 3 处填空:upper

41、,lower改错题下列给定程序中,函数fun 的功能是:从n 个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在行参 aver所指的存储单元中。例如,若输入 8 名学生的成绩:80.5607290.59851.58864则低于平均分的学生人数为 4(平均分为:75.5625).请改正程序中的错误,使程序能统计出正确的结果。注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构!试题程序:#include #include #define N 20int fun(float *s, int n, float *aver)float ave, t = 0.0;i

42、nt count = 0, k, i;/*found*/for (k=0; kn; k+)t = sk;ave = t/n;for (i=0; in; i+)if (si ave)count+;/*found*/*aver = &ave;return count;main()float s30, aver;int m, i;printf(nPlease enter m: );scanf(%d, &m);printf(nPlease enter %d mark :n , m);for (i=0; in。P=m!n!(mn)!例如:m=12,n=8 时,运行结果为 495.000000注意:部分源

43、程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。试题程序:#include #include float fun( int m, int n)main()FILE *out;printf(P=%fn, fun(12,8);out = fopen(out.dat, w);fprintf(out, %f, fun(12,6);fclose(out);答案是:float fun(int m,int n)float p,t=1.0;int i;for (i=1;i=m;i+)t=t*i;p=t;for(t=1.0,i=1;i=n;i+)

44、t=t*i;p=p/t;for(t=1.0,i=1;i=m-n;i+)t=t*i;p=p/t;return p;第第 1010 套套填空题填空题请补充 main 函数,该函数的功能是:从键盘键盘输入 3 个整数然后找出最大的数并输出。例如,输入:124543,输出为 45注意:部分源程序给出如下。仅在横线上填入所编写的若干表达式或语句,勿改动函数中的其他任何内容。试题程序:#include #include main()int a, b, c, max;printf(nInput three numbers:n);scanf(%d,%d,%d, &a, &b, &c);printf(The t

45、hree numbers are:%d,%d,%dn, a, b,c);if (a b)_1_;else_2_;if (max c)_3_;printf(max=%dn, max);第 1 处填空:max=a第 2 处填空:max=b第 3 处填空:max=c改错题改错题下列给定程序中,函数 fun 的功能是:将 s 所指字符串出现的 t1 所指子串全部替换成 t2 所指子字符串,错形成的新串放在 w 所指的数组中。在此处,要求 t1 和 t2 所指字符串的长度相同。例如,当 s 所指字符串的内容为 abcdabfab,t1 所指子串中的内容为 ab, t2 所指子串中的内容为 99 时,结果

46、,在 w 所指的数组中的内容为 99cd99f99。请改正程序中的错误,使程序能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!试题程序:#include #include #include /*found*/void fun(char *s, *t1, *t2, *w)int i;char *p, *r, *a;strcpy(w, s);while (*w)p = w;r = t1;/*found*/while (r)if (*r = *p)r+;p+;elsebreak;if (*r = 0)a = w;r = t2;while (*r)*a = *r

47、;a+;r+;w += strlen(t2);elsew+;main()char s100, t1100, t2100, w100;printf(nPlease enter string s:);scanf(%s, s);printf(nPlease enter substring t1:);scanf(%s, t1);printf(nPlease enter substring t2:);scanf(%s, t2);if (strlen(t1) = strlen(t2)fun(s, t1, t2, w);printf(nThe result is :%sn, w);elseprintf(Er

48、ror :strlen(t1)!=strlen(t2)n);第 1 处:void fun(char *s,*t1,*t2,*w)应改为 void fun(char *s,char*t1,char *t2,char *w)第 2 处:while(r)应改为 while(*r)编程题编程题编写函数 fun,它的功能是:利用以下所示的简单迭代方法求方程式cos(x)-x=0 的一个实根。Xn 1=cos(Xn)迭代步骤如下:(1)取 x1 初值为 0.0;(2)x0=x1,把 x1 的值赋给 x0;(3)x1=cos(x0),求出一个新的 x1;(4)若 x0-x1,的绝对值小于 0.000001,

49、则执行步骤(5) ,否则执行步骤(2) ;(5)所求 x1 就是方程 cos(x)-x=0 的一个实根,作为函数值返回。程序将输出结果 Root=0.739085。注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。试题程序:#include #include #include float fun()main()FILE *out;float f = fun();printf(Root=%fn, f);out = fopen(out.dat, w);fprintf(out, %f, f);fclose(out);答案是:

50、float fun()float x1=0.0,x0;dox0=x1;x1=cos(x0);while(fabs(x0-x1)=le-6);return x1;第第 1111套套填空题填空题给定程序中,涵数 fun 的功能是:把形参s 所指字符串中下标为奇数的字符右移到下一个奇数位置, 最右边被移出字符串的字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于 2)例如,形参 s 所指的字符串为:abcdefgh ,执行结果为:ahcbedgf注意:部分源程序给出如下。仅在横线上填入所编写的若干表达式或语句,勿改动函数中的其他任何内容。试题程序:#include v

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

当前位置:首页 > 研究报告 > 其他报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁