1、第三分册上机考试题库C+C+上机试题上机试题第第 1 1 套套一、填空题。一、填空题。给定程序的功能是求 1/4 的圆周长。函数通过形参得到圆的直径,函数返回 1/4 的圆周长(圆周长公式为:L=d,在程序中定义的变量名要与公式的变量相同)。例如:输入圆的直径值:19.527,输出为:15.336457请勿改动主函数 main 与其他函数中的任何内容,仅在横线上填写所需的若干表达式或语句。#includedouble fun(double d)return 3.14159*d/4.0;main()double z;printf(Input the d of the round:);scanf(
2、%lf,&z);printf(L=%lfn,fun(z);二、改错题。二、改错题。下列给定程序中函数 fun 的功能是:计算正整数 m 的各位上的数字之积。例如,若输入 202,则输出应该是 0。请修改程序中的错误,得出正确的结果注意:不要改动 main 函数,不能增行或删行,也不能更改程序的结构#include#includelong fun(long n)long r=1;dor*=n%10;n/=10;while(n);return(r);main()long m;printf(nplease enter a number:);scanf(%ld,&m);printf(n%ldn,fun
3、(m);1 1第三分册上机考试题库三、编程题。三、编程题。请编写一个函数 fun,它的功能是:求出 1 到 m 之内(含 m)能被 7 或 11 整初的所有整数放在数组 b 中,通过 n 返回这些数的个数。例如,若传送给 m 的值为 20,则程序输出 71114。请勿改动主函数 main 与其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。#include#include#define N 100void fun(int m,int*b,int*n)int i,j=0;*n=0;for(i=1;i=m;i+)if(i%7=0|i%11=0)bj=i;j+;*n=j;mai
4、n()int aN,n,i;FILE*out;fun(20,a,&n);for(i=0;in;i+)if(i+1)%20=0)printf(%4dn,ai);elseprintf(%4d,ai);printf(n);out=fopen(outfile.dat,w);fun(100,a,&n);for(i=0;in;i+)if(i+1)%10=0)fprintf(out,%4dn,ai);elsefprintf(out,%4d,ai);fclose(out);第第 2 2 套套一、填空题。一、填空题。2 2第三分册上机考试题库函数 fun 的功能是:统计长整数 test 的各位上出现数字 5、6
5、、7 的次数,并通过外部(全局)变量 sum5、sum6、sum7 返回主函数。例如:当 test=89431676 时,结果应该为:sum5=0sum6=2sum7=1。请勿改动主函数 main 与其它函数中的任何内容,仅在 fun 函数的横线上填写所需的若干表达式或语句。#includeint sum5,sum6,sum7;void fun(long test)sum5=sum6=sum7=0;while(test)switch(test%10)case 5:sum5+;break;case 6:sum6+;break;case 7:sum7+;test/=10;main()long te
6、st=89431676L;fun(test);printf(nThe count result:n);printf(test=%ld sum5=%d sum6=%d sum7=%dn,test,sum5,sum6,sum7);二、改错题。二、改错题。下列给定程序中,函数 fun 的功能是:将字符串 str 中的小写字母都改为对应的大写字母,其它字符不变。例如,若输入“asAS”,则输出“ASAS”。请修改程序中的错误,使它能统计出正确的结果。注意:不要改动 main 函数,不能增行或删行,也不能更改程序的结构#include#include#includechar*fun(char str)i
7、nt i;for(i=0;stri;i+)if(stri=a&stri=z)stri-=32;return(str);3 3第三分册上机考试题库main()char str81;printf(nplease enter a string:);gets(str);printf(nThe result string is:n%s,fun(str);三、编程题。三、编程题。请编写一个函数 fun,它的功能是:找出一维整型数组元素中最小的值和它所在的下标,最小的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中 a 是数组名,n 是 a 中的数据个数,min 存放最小值,flag
8、存放最小值所在元素的下标请勿改动主函数 main 与其它函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。#include#include#includevoid fun(int b,int n,int*min,int*d)int i;*min=b0;*d=0;for(i=0;in;i+)if(bi*min)*min=bi;*d=i;main()int i,a20,min,flag,n=10;FILE*out;for(i=0;in;i+)ai=rand()%50;printf(%4d,ai);printf(n);fun(a,n,&min,&flag);printf(min=%
9、5d,Index=%4dn,min,flag);out=fopen(outflie.dat,w);memcpy(a,3.141592653589793238462643383279,32);fun(a,8,&min,&flag);4 4第三分册上机考试题库fprintf(out,min=%5d,Index=%4d,min,flag);fclose(out);第第 3 3 套套 上机考试试题上机考试试题一、填空题。一、填空题。请补充 main 函数,该函数的功能是:从键盘输入一组整数,使用条件表达式找出最大的整数。当输入的整数为-1 时结束。例如:输入96 121 23 343 232 54 8
10、9 365 89-1时,最大的数为 365。仅在横线上填写所需的若干表达式或语句,请勿改动函数中的其它任何内容#include#include#define NUM 100main()int nNUM;int i=-1;int MAX=-1;printf(nInsert integer with the-1 as end:n);doi+;printf(n%d=,i);scanf(%d,&ni);MAX=MAXni?ni:MAX;while(ni!=-1);printf(The MAX=%dn,MAX);二、改错题。二、改错题。下列给定程序中,函数 fun 的功能是:将一个由八进制数字字符组成的
11、字符串转换为与其数值相等的十进制整数。例如,若输入11111,则输出将是 4681。请修改程序中的错误,使它能得出正确结果。注意:不要改动 main 函数,不能增行或删行,也不能更改程序的结构#include#include#includeint fun(char*s)int n;n=*s-0;s+;while(*s!=0)n=n*8+*s-0;5 5第三分册上机考试题库s+;return n;main()char str6;int i;int n;printf(Enter a string(octal digits):);gets(str);if(strlen(str)5)printf(Er
12、ror:string too longer!nn);exit(0);for(i=0;stri;i+)if(stri7)printf(Error:%c not is octal digits!nn,stri);exit(0);printf(The original string:);puts(str);n=fun(str);printf(n%s is convered to intege number:%dnn,str,n);三、编程题。三、编程题。下列程序定义了下列程序定义了 N NN N 的二维数组,并在主函数中赋值。请编写函数的二维数组,并在主函数中赋值。请编写函数 funfun,函数的功
13、能是:,函数的功能是:求出数组周边元素的平均值并作为函数值返回给主函数中的求出数组周边元素的平均值并作为函数值返回给主函数中的 r r。例如:若例如:若 c c 数组中的值为:数组中的值为:197C=452383则返回主程序后则返回主程序后 r r 的值应为的值应为 4.6250004.625000请勿改动主函数请勿改动主函数 mainmain 与其他函数中的任何内容,与其他函数中的任何内容,仅在函数仅在函数 funfun 的花括号中填入所编写的若的花括号中填入所编写的若干语句干语句#include#include#include#define N 3double fun(int bN)6 6
14、第三分册上机考试题库int i,j,k=0;double r=0.0;for(j=0;jN;j+)r+=b0j;k+;for(j=0;jN;j+)r+=bN-1j;k+;for(i=1;i=N-2;i+)r+=bi0;k+;for(i=1;i=N-2;i+)r+=biN-1;k+;return r/=k;main()int cNN=1,9,7,4,5,2,3,8,3;int i,j;FILE*out;double r;printf(*n);for(i=0;iN;i+)for(j=0;jN;j+)printf(%4d,cij);printf(n);r=fun(c);printf(THE RESU
15、LTn);printf(The r is%lfn,r);out=fopen(outfile.dat,w);7第三分册上机考试题库fprintf(out,%lf,r);fclose(out);第第 4 4 套套 上机考试试题上机考试试题一、填空题。一、填空题。请补充 fun 函数,该函数的功能是将字符串 str 中的小写字母都改为对应的大写字母,其它字符不变。例如:若输入”Welcome!”,程序输出结果是”WELCOME!”。请勿改动主函数 main 与其它函数中的任何内容,仅在 fun 函数的横线上填写所需的若干表达式或语句。#include#include#includechar*fun(
16、char str)int j;for(j=0;strj;j+)if(strj=a)&(strj=z)strj-=32;return(str);main()char str100;printf(nplease enter a string:);gets(str);printf(nThe result string is:n%s,fun(str);二、改错题二、改错题下列给定程序中,函数 fun 的功能是:计算并输出 n 以内最大的 10 个能被 11 或 19 整除的自然数之和。n 的值由主函数传入,若 n 的值为 300,则函数值为 2646。请修改程序中的错误或在横线处填上适当的内容并把横线
17、删除,使程序能得出正确的结果。注意:不要改动 main 函数,不能增行或删行,也不能更改程序的结构。#include#includeint fun(int n)8 8第三分册上机考试题库int m=0,mix=0;while(n=2)&(mix10)if(n%11=0)|(n%19)=0)m=m+n;mix+;n-;return m;main()printf(%dn,fun(300);三、编程题三、编程题请编写函数 fun,其功能是:将 str 所指字符串中除了下标为偶数、同时 ASCII 值也为偶数的字符外,其余的全部删除;串中剩余字符所形成的一个新串放在s 所指的数组中。例如,若 str
18、所指字符串中的内容为ABCDEFG123456,其中字符 A 的 ASCII 码值为奇数,因此应当删除;其中字符B 的 ASCII 值为偶数,但在数组中的下标为奇数,因此也应当删除;而字符 2 的 ASCII 码值为偶数,所在数组中的下标也为偶数,因此不应当删除,其它以此类推。最后s 所指的数组中的内容应是246。请勿改动主函数 main 与其它函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。注意:部分源程序给出如下。#include#include#includevoid fun(char*str,char s)int i,j=0,n;n=strlen(str);for(
19、i=0;in;i+)if(i%2=0&stri%2=0)sj=stri;j+;sj=0;main()9 9第三分册上机考试题库char str100,s100;FILE*out;printf(nplease enter string:);scanf(%s,str);fun(str,s);printf(nThe result is:%sn,s);out=fopen(outfile.dat,w);strcpy(str,please enter string:);fun(str,s);fprintf(out,%s,s);fclose(out);第第 5 5 套套 上机考试试题上机考试试题一、填空题一
20、、填空题请补充 fun 函数,该函数的功能是:依次取出字符串中所有大写字母,形成新的字符串,并取代原字符串。例如,输入sdfASDsd,则输出 ASD。请勿改动主函数 main 与其它函数中的任何内容,仅在 fun 函数的横线上填写所需的若干表达式或语句。注意:部分源程序给出如下。#include#includevoid fun(char*s)int j=0;char*p=s;while(*p)if(*p=A&*p=Z)sj=*p;j+;p+;sj=0;main()char str100;printf(nPlease Input a string:);gets(str);printf(nnTh
21、e original string is:%sn,str);fun(str);printf(nnThe string of changing is:%sn,str);1010第三分册上机考试题库二、改错题二、改错题下列给定程序中,函数 fun 的功能是:先从键盘上输入一个3 行 3 列矩阵的各个元素的值,然后输出主对角线元素之和。请修改函数 fun 中的错误或在横线处填上适当的内容并把横线删除,得出正确结果。注意:不要改动 main 函数,不能增行或删行,也不能更改程序的结构。#includevoid fun()int aa33,sum;int i,j;sum=0;for(i=0;i3;i+)
22、for(j=0;j3;j+)scanf(%d,&aaij);for(i=0;i3;i+)sum=sum+aaii;printf(sum=%dn,sum);main()fun();三、编程题三、编程题请编写一个函数 void fun(int*s,int t,int*result),用来求出数组的最小元素在数组中的下标,并存放在 result 所指的存储单元中。例如,输入如下整数:564,165,567,121,948,324,329,454,5345,783,434,124,561,985,555则输出结果为:3,121。请勿改动主函数 main 与其它函数中的任何内容,仅在函数 fun 的花括
23、号中填入所编写的若干语句。注意:部分源程序给出如下。#include#includevoid fun(int*s,int t,int*result)int temp,min;min=s0;1111第三分册上机考试题库for(temp=0;tempt;temp+)if(stempmin)min=stemp;*result=temp;main()int store15=564,165,567,121,948,324,329,454,5345,783,434,124,561,985,555,result;FILE*out;fun(store,10,&result);printf(%d,%dn,res
24、ult,storeresult);out=fopen(outfile.dat,w);fprintf(out,%dn%d,result,storeresult);fclose(out);第第 6 6 套套 上机考试试题上机考试试题一、填空题一、填空题给定程序的功能是判断字符串 s 中的某个字符是否与字符 ch 相同,若相同什么也不做,若不同则插在字符串的最后。例如,输入test,如果输入 e,输出的结果不变,但如果输入a,结果 testa。请勿改动主函数 main 与其它函数中的任何内容,仅在横线上填写所需的若干表达式或语句。注意:部分源程序给出如下。#include#includevoid f
25、un(char*s,char ch)while(*s&*s!=ch)s+;if(*s!=ch)s0=ch;s1=0;main()char str81,c;printf(nPlease input a string:n);gets(str);printf(n Please enter the character to search:);c=getchar();1212第三分册上机考试题库fun(str,c);printf(nThe result is%sn,str);二、改错题二、改错题下列给定程序中,函数 fun 的功能是:按顺序给 t 所指数组中的元素赋予从2 开始的偶数。然后再按顺序对每
26、5 个元素求一个平均值,并将这些值依次存放在r 所指的数组中。若t 所指数组中元素的个数不是5 的倍数,多余部分忽略不计。例如,t 所指数组有 14 个元素,则只对前 10 个元素进行处理,不对最后的4 个元素求平均值。请修改程序中的错误,得出正确的结果。注意:不要改动 main 函数,不能增行或删行,也不能更改程序的结构。#include#define NUM 20int fun(double*t,double*r)int j,i;double sum;for(j=2,i=0;iNUM;i+)ti=j;j+=2;sum=0.0;for(j=0,i=0;iNUM;i+)sum+=ti;if(i
27、+1)%5=0)rj=sum/5;sum=0;j+;return j;main()double aNUM,bNUM/5;int i,j;j=fun(a,b);printf(The original data:n);for(i=0;iNUM;i+)if(i%5=0)1313第三分册上机考试题库printf(n);printf(%4.0f,ai);printf(nnThe result:n);for(i=0;ij;i+)printf(%6.2f,bi);printf(nn);三、编程题三、编程题请编写一个函数 void fun(int x,int sum,int select),该函数的功能是:将
28、大于整数x 且紧靠 x的 sum 个素数存入 select 所指的数组中。例如,输入:1218,则应输出:127 131 137 139 149 151 157 163。请勿改动主函数 main 与其它函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。注意:部分源程序给出如下。#include#includevoid fun(int x,int sum,int select)int r=0,temp,p,sign=1;for(temp=x+1;tempx*x;temp+)for(p=2;p=temp)if(sum=0)selectr+=temp;sum-;elsebreak;
29、1414第三分册上机考试题库main()int x,y,a500;FILE*out;printf(nInput two number:);scanf(%d,%d,&x,&y);fun(x,y,a);for(x=0;xy;x+)printf(%d,ax);printf(n);fun(121,10,a);out=fopen(outfile.dat,w);for(x=0;x10;x+)fprintf(out,%dn,ax);fclose(out);第第 7 7 套套 上机考试试题上机考试试题一、填空题一、填空题给定程序的功能是计算 score 中 n 个人的平均成绩 aver,将高于 aver 的成
30、绩放在 high 中,通过函数名返回人数。例如,score=88,75,50,60,80,90,n=6时,函数返回的人数应该是4,high=88,75,80,90。请勿改动主函数 main 与其他函数中的任何内容,仅在横线上填写所需的若干表达式或语句。注意:部分源程序给出如下。#include#includeint fun(int score,int m,int high)int i,j=0;float aver=0.0;for(i=0;im;i+)aver+=scorei;aver/=(float)m;for(i=0;iaver)highj+=_;return j;main()int i,n
31、,high6;int score6=88,75,50,60,80,90;n=fun(score,6,_);printf(nThe high of average score are:);1515第三分册上机考试题库for(i=0;in;i+)printf(%d,_);printf(n);二、改错题二、改错题已知一个数列从第 0 项开始的前三项分别为 0、0、1,以后的各项都是其相邻的前三项之和。下列给定程序中,函数 fun 的功能是:计算并输出该数列前n 项的平方根之和 sum。n 的值通过形参传入。例如,当n=4 时,程序输出结果应为2.000000。请修改程序中的错误,使程序能得出正确的结
32、果。注意:不要改动 main 函数,不能增行或删行,也不能更改程序的结构。#include#include#includedouble fun(int n)double sum,a0,a1,a2,a;int i;sum=1.0;if(n=2)sum=0.0;a0=0.0;a1=0.0;a2=1.0;for(i=4;i=n;i+)a=a0+a1+a2;sum+=sqrt(a);a0=a1;a1=a2;a2=a;return sum;main()int n;printf(Input N=);scanf(%d,&n);printf(%lfn,fun(n);三、编程题三、编程题学生的记录由学号和成绩组
33、成,M 名学生的数据已在主函数中放入结构体数组score 中,请1616第三分册上机考试题库编写函数 fun,它的功能是把分数最低的学生数据放在low 所指的数组中,注意:分数最低的学生可能不只一个,函数返回分数最低的学生的人数。请勿改动主函数 main 与其它函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。注意:部分源程序给出如下。#include#define M 10typedef structchar num10;int s;SCORE;int fun(SCORE*a,SCORE*b)int i,j=0,n=0,min;min=a0.s;for(i=0;iM;i+)
34、if(ai.smin)min=ai.s;for(i=0;iM;i+)if(ai.s=min)*(b+j)=ai;j+;n+;return n;main()SCOREstuM=GA03,76,GA04,85,GA01,91,GA08,64,GA06,87,GA014,91,GA011,77,GA017,64,GA018,64,GA016,72;SCORE lowM;int i,n;FILE*out;n=fun(stu,low);printf(The%d lowest score:n,n);for(i=0;in;i+)printf(%s%4dn,lowi.num,lowi.s);printf(n)
35、;out=fopen(outfile.dat,w);fprintf(out,%dn,n);for(i=0;in;i+)17第三分册上机考试题库fprintf(out,%4dn,lowi.s);fclose(out);第第 8 8 套套 上机考试试题上机考试试题一、填空题一、填空题请补充 main 函数,该函数的功能是:从键盘输入3 个整数,然后找出最小的数并输出。例如:输入 78,53,123,则输出为 53。请勿改动主函数 main 与其它函数中的任何内容,仅在横线上填写所需的若干表达式或语句。注意:部分源程序给出如下。#include#includemain()int x,y,z,min;
36、printf(nInput three number:n);scanf(%d,%d,%d,&x,&y,&z);printf(The three numbers are:%d,%d,%dn,x,y,z);if(xz)min=z;printf(min=%dn,min);二、改错题二、改错题下列给定程序中,fun 函数的功能是:分别统计字符串中小写字母和大写字母的个数。例如,给字符串 t 输入:adfsFFssefSCGSDew,则应输出结果:big=7,small=10。请修改程序中的错误,使它能计算出正确的结果。注意:不要改动 main 函数,不能增行或删行,也不能更改程序的结构。#includ
37、e#includevoid fun(char*t,int*c,int*d)while(*t)if(*t=A&*t=a&*t=z)(*d)+;t+;1818第三分册上机考试题库main()char t200;int big=0,small=0;printf(nplease input a string:);gets(t);fun(t,&big,&small);printf(n big=%d small=%dn,big,small);三、编程题三、编程题请编一个函数 void fun(int aMN,int bN),c 指向一个 M 行 N 列的二维数组,求出二维数组每列中最大元素,并依次放入b
38、所指一维数组中。二维数组中的数己在主函数中赋予。请勿改动主函数 main 与其它函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。注意:部分源程序给出如下。#include#include#define M 3#define N 4void fun(int aMN,int bN)int i,j,max;for(j=0;jN;j+)max=a0j;for(i=0;imax)max=aij;bj=max;main()int cMN=10,22,15,30,19,33,45,38,20,22,66,40;int pN,i,j,k;FILE*out;printf(The origin
39、al data is:n);for(i=0;iM;i+)for(j=0;jN;j+)1919第三分册上机考试题库printf(%6d,cij);printf(n);fun(c,p);printf(nThe result is:n);for(k=0;kN;k+)printf(%4d,pk);printf(n);out=fopen(outfile.dat,w);for(k=0;kN;k+)fprintf(out,%dn,pk);fclose(out);第第 9 9 套套 上机考试试题上机考试试题一、填空题一、填空题请补充 fun 函数,该函数的功能是:从键盘输入一个下标n,把数组 a 中比元素 a
40、n小的元素放在它的左边,比它大的元素放在它的右边,排列成的新数组仍然保存在原数组中。例如,数组a=33,55,66,44,77,22,88,99,11,10,输入 2,则结果输出“33554422111066778899”。请勿改动主函数 main 与其他函数中的任何内容,仅在 fun 函数的横线上填写所需的若干表达式或语句。注意:部分源程序给出如下。#include#define N 10void fun(int a,int n)int i,j=0,k=0,t;int bN;t=an;for(i=0;it)bj+=ai;if(ait)ak+=ai;_;for(i=0;_i+,k+)ak=bi
41、;main()2020第三分册上机考试题库int i,n;int aN=33,55,66,44,77,22,88,99,11,10;printf(The original array:n);for(i=0;iN;i+)printf(%4d,ai);printf(n suffix n:);scanf(%d,&n);fun(a,n);printf(The new array:n);for(i=0;iN;i+)printf(%4d,ai);printf(n);二、改错题二、改错题下列给定程序中,fun 函数的功能是:求 a=xxxx-xx-xx-x(此处 xxxx 表示 n 个 x,x 和 n的值在
42、 1 至 9 之间)。例如 x=3,a=6,则以上表达式为:a=333333-33333-3333-333-33-3其值是 296298。X 和 n 是 fun 函数的形参,表达式的值作为函数值传回main 函数。请修改程序的错误,使它能计算出正确的结果。注意:不要改动 main 函数,不能增行或删行,也不能更改程序的结构。#include#includelong fun(int x,int n)int j;long a=0,t=1;for(j=0;j=n;j+)t=t*10+x;a=t;for(j=1;jn;j+)t=t%10;a=a-t;return(a);main()int x,n;pr
43、intf(nPlease enter x and n:);scanf(%d%d,&x,&n);printf(The value of fun is%ldn,fun(x,n);2121第三分册上机考试题库三、编程题三、编程题请编写函数 fun,其功能是:计算并输出:F=1+(1+2)+(1+2+3)+(1+2+3+m)例如,若主函数从键盘给m 输入 10 后,则输出为 F=104.478749。请勿改动主函数 main 与其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。注意:m 的值要求大于 1 但不大于 100。部分源程序给出如下。#include#includedou
44、ble fun(int m)main()int m;double f;FILE*out;printf(nInput m:);scanf(%d,&m);f=fun(m);printf(nnf=%fnn,f);out=fopen(outfile.dat,w);for(m=0;m10;m+)fprintf(out,%fn,fun(m+20);fclose(out);差第 10 套*2222第三分册上机考试题库#include#includevoid fun(long a,long*b)int d;long s=1;*b=0;while(a0)d=a%10;if(d%2!=0)*b=d*s+*b;s*
45、=10;a/=10;main()long a,b;printf(nPlease enter a:);scanf(%ld,&a);fun(a,&b);printf(The result is:%ldn,b);第第 1111套套 上机考试试题上机考试试题一、填空题一、填空题请在函数 fun 横线上填写表达式,使从键盘上输入一个整数 m,输出斐波纳契数列。斐波纳契数列是一种整数数列,其中每个数等于前面两个数之和,例如:0 1 1 2 3 5 8请勿改动主函数 main 与其他函数中的任何内容,仅在fun 函数的横线上填写所需的若干表达式或语句#includeint fun(int m);main()
46、int i,m=0;scanf(%d,&m);2323第三分册上机考试题库for(i=0;im;i+)printf(%d,fun(i);int fun(int m)if(m=0)return 0;else if(m=1)return 1;elsereturn fun(m-1)+fun(m-2);二、改错题二、改错题下列给定程序中,函数 fun 的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句或表达式.例如变量x 中的值原为1,y中的值原为2,程序运行后x 中的值为2,y中的值为1。请修改程序中的错误,得出正确的结果。注意:不要改动 main 函数,不能增行或删行,也不能更改程序的
47、结构。#include#includeint fun(int*a,int b)int temp;temp=*a;*a=b;return temp;main()int x=1,y=2;printf(x,y%d%dn,x,y);y=fun(&x,y);printf(the result is%d%dn,x,y);三、编程题三、编程题请编写一个函数 void fun(char*t,int p),统计在 t 字符串中“a”到“z”26 个字母各自出现的次数,并依次放在 p 所指数组中。例如,当输入字符串 sdfssdrefggrthdg 后,程序的输出结果应该是:0003123100000000023
48、1000000请勿改动主函数 main 与其它函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。注意:部分源程序给出如下。#include#include2424第三分册上机考试题库void fun(char*t,int p)int j;for(j=0;j26;j+)pj=0;while(*t)switch(*t)case a:p0+;break;case b:p1+;break;case c:p2+;break;case d:p3+;break;case e:p4+;break;case f:p5+;break;case g:p6+;break;case h:p7+;bre
49、ak;case i:p8+;break;case j:p9+;break;case k:p10+;break;case l:p11+;break;case m:p12+;break;case n:p13+;break;case o:p14+;break;case p:p15+;break;case q:p16+;break;case r:p17+;break;case s:p18+;break;case t:p19+;break;case u:p20+;break;case v:p21+;break;case w:p22+;break;case x:p23+;break;case y:p24+
50、;break;case z:p25+;break;t+;main()char a2000;int b26,i;FILE*out;25第三分册上机考试题库printf(nPlease input a char string:);scanf(%s,a);fun(a,b);for(i=0;i26;i+)printf(%d,bi);printf(n);fun(a bosom friend after brings a distant land near,b);out=fopen(outfile.dat,w);for(i=0;i26;i+)fprintf(out,%dn,bi);fclose(out);