《二级C语言上机题题库大全.pdf》由会员分享,可在线阅读,更多相关《二级C语言上机题题库大全.pdf(381页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、L9HGN-J9NZ6-NZ2ZR-ZH2BH第 1 套上机考试试题1.填空题1.卜列给定程序中,函数f un()的作用是:将字符串tt中的大写字母都改为对应的小写字母,其他字符不变。例如,若输入“Ab,cD”,则输出“ab,cd”。试题程序:#include#include#include char 1 fun(char tt)(int i;for(i=0;tti;i+)(if(tti=,A,)&(tti=2)tti+=32;)return(tt);)main()(char tt 81;printf(nnPlease enter a string:H);gets(tt);printf(nnT
2、he result string is:n%sn,fun(3);)2.函数f lm()的功能是:将ss所指字符串中所仃下标为奇数位置的字母转换为大写(若该位置上不是字母,则不转换)。例如,若输入abc4Efg,则应输出aBc4EFg。试题程序:#include#include#includevoid fun(char*ss)(int i;for(i=0;ssi!=*0*;i+)if(i%2=l&ssi=,a,&ssi=z,)1main()(2*wf;char tt81,s10=Habc4Efgw 3printf(nnPlease enter an string within 80 charac
3、ters:nn);gets(tt);printf(nnnAfter changing,the stringn%sH,tt);fun(tt);printf(nnbecomesn%snn,tt);wf=fopen(out.dat*,);fun(s);fprintf(wf,n%s,s);fclose(wf);2.改错题下列给定程序中,函数f un()的功能是逐个比较a,b两个字符串对应位置中的字符,把ASCH值小或相等的字符依次存放到c数组中,形成一个新的字符串。例如:a中的字符串为f shADf g,b中的字符串为sdAEdi,贝心中的字符串应为f tlAADf。请改正程序中的错误,使它能得到正确
4、结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include#include string.hvoid fun(char*pz char*q,char*c)int k=0;while(*p|*q)found*if(*p=*q)ck=*q;else ck=*p;if(*p)p+;if(*q)q+;*found*k+main()char a10=nfshADfgnzb10=nsdAEdin,c 80=10*;fun(a,b,c);printf(The string a:);puts(a);printf(nThe string b:11);puts(b);pri
5、ntf(nThe result:n);puts(c);3.编程题请编写函数ftm,其功能是将两个两位数的正整数a、b合并形成个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数个位和十位上,b数的十位和个位数依次放在c数的百位和千位上。例如,当a=16,b=3 5,调用该函数后,c=5361。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数f un的花括号中填入所编写的若干语句。试题程序:#includevoid fun(int a,int b,long*c)main()(int a,b;long c;clrscr();printf(Input a,b
6、;*);scanf(H%d%dn,&a,&b);fun(a,b,&c);printf(The result is:%ldnn,c);第2 套上机考试试题1.填空题1.卜.列给定程序中,函数fiin()的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每5个元素求一个平均值,并将这些值依次存放在w所指的数组中。若s所指数组中元素的个数不是5的倍数,多余部分忽略不计。例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。试题程序:#include#define SIZE 20fun(double*s,double*w)int k,i;double
7、 sum;for(k=2z i=0;iSIZE;i+)s i=k;k+=2;sum=0.0;for(k=0,i=0;iSIZE;i+)sum+=si;if(i-H)1 5=0)wk=sum/5;sum=0;k+;)2 k;main()double a SIZE,bSIZE/5;int i,k;k=fun(a,b);printf(The original data:n);for(i=0;iSIZE;i+)(if(i%5=0)printf(nn);printf(n%4.0fn,ai);printf(nnnThe result:nn);for(i=0;ik;i+)printf(H%6.2f n,3)
8、;printf(nnnn);)2.函数ftm()的功能是:求出一个2X M整型二维数组中最大元素的值,并将此值返回调用函数。试题程序:#define M 4#include fun(int 1)(int iz j,m a x=2;for(i=0;i2;i+)for(j=0;jM;j+)if(max 3 aij)max=a i j;return max;)main()(FILE*wf;int arr2M=5,8,3,45,76,-4,12,82;printf(nmax=%dnu,fun(arr);wf=f open(out.dat,*w*);fprintf(wf,%dH,fun(arr);fcl
9、ose(wf);2.改错题下列给定程序中,函数f un()的功能是根据整型形参m,计算如下公式的值。y=l-l/(2X2)+l/(3X3)-l/(4X 4)+-+(-l)(m+1)/(m X m)例如:m中的值为5,则应输出0.838611。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.试题程序:#include#include double fun(int m)double y=l.0;I*found*/int j=l;int i;for(i=2;i=m;i+)(j=-l*j;I*found*/y+=l/(i*i);)return(
10、y);main()(int n=5;clrscr();printf(nnThe result is%lfnM,fun(n);)3.编程题请编一个函数void ttMN,int p p N),壮指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数f un的花括号中填入所编写的若干语句。试题程序:#include#include#define#defineMNvoid fun(int(34ttMN,int ppN)main()int tMN=68,32
11、,54,12,14,24,88,58,42,22,44,56;int pNz i,j,k;clrscr();printf(*The riginal data is:n);for(i=0;iM;i+)(for(j=0;jN;j+)printf(n%6dn,ti j);printf(nnn);)fun(t,p);printf(nnThe result is:n);for(k=0;kN;k+)printf(%4dH,pk);printf(nnH);第3套上机考试试题1.填空题1.下列给定程序中,函数fUn()的功能是:将s所指字符串中的字母转换为按字母序列的后续字母(但Z转化为A,z转化为a),其他
12、字符不变。试题程序:#include#include#includevoid fun(char*s)while(1)if(*s=A,&*s=,a&*s=,z1)if(*s=*Z1)*s=*A*;else if(*s=*z*)*s=*a*;else*s+=2;main()char s 80;printf(n Enter a string with length80:nnn);gets(s);printf(n The string:nnn);puts(s);fun(s);printf(nnn The Cords:nnH);puts(s);2.函数ftm()的功能是:将s所指字符串中除了下标为偶数、
13、同时ASCH值也为偶数的字符外,其余的全部删除,串中剩余字符所形成的一个新串放在t所指的数组中。例如,若s所指字符串中的内容为ABCDEFG123456,其中字符A 的ASCH码值为奇数,因此应当删除:其中字符B的ASCII码值为偶数,但在数组中的下标为奇数,因此也应当删除;而字符2的ASCII码值为偶数,所在数组中的下标也为偶数,因此不应当删除,其他依此类推。最后t所指的数组中的内容应是246。试题程序:#i n c l u d e#i n c l u d e#i n c l u d e v o i d f u n(c h a r*s,c h a r t )(i n t i,j=0;f o
14、r(i=0;s i !=1 ;i+)i f (i%2=0 2 s i%2=0)t j+=s i ;3)m a i n ()(F I L E *w f;c h a r s 1 0 0 ,t 1 0 0 ;p ri n t f(X n P l e a s e e n t e r s t ri n g S:);s c a n f(“告s”,s);f u n(s,t);p ri n t f(n n T h e re s u l t i s:%s nn,t);w f=f o p e n(no u t.d a t ,nwn);f u n(nAB C D E F G 1 2 3 4 56 ,t);fp r
15、i n t f(w f,n%sH,t);fclo s e(w f);)2.改错题下列给定程序中,函数fu n的功能是按以下递归公式求函数值。Fun(n)=靠(_)x 2例如:当给n输入5时,函数值为240;当给n输入3时,函数值为60。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#i n clu de *fo u n d*fu n (i n t n);(i n t c;/*fo u n d*i f(n=l)c=1 5;els ec=fu n (n-1)*2;r et u r n(c);)m a i n()(i n t n;
16、p r i n t f(E n t er n :n);s can f(d,&n);p r i n t f(HT he r es u lt :%dn nn,fu n (n);3.编程题请 编 写 函 数 对 长 度 为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII值码升序排列。例如:原来的字符串为BdsihA d,则排序后输出为BAdhisd。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fi r n 的花括号中填入所编写的若干语句。试题程序:#include#include#include int fun(char*s,int num)main(
17、)(char s 10;clrscr();printf(输入7个字符的字符串:);gets(s);fun(s,7);printf(*n%sn,s);第4套上机考试试题1.填空题1.卜.列给定程序中函数f iin()的功能是:将长整型数中每一位上为奇数的数依次取出,构成个新数放在t中。高位仍在高位,低位仍在低位。例如当s中的数为87653142时,可 的数为7531。试题程序:#include#include void fun(long s,long*t)int d;long sl=l;*t=0;while(s0)d=s 1 10;if(d%2!=0)*t=d*sl+*t;sl*=2;s/=3m
18、ain()long s,t;clrscr();printf(nnPlease enter s:n);scanf(%ldn,&s);fun(s,&t);printf(nThe result is:%ldnn,t);2.函数f un()的功能是:将s所指字符串中除了下标为偶数、同时ASCII码值为奇数的字符之外,其余的所有字符都删除,申中剩余字符所形成的一个新申放在t所指的数组中。例如,若s所指字符串中的内容为ABCDEFG12345,其中字符B的ASCII码值为偶数,所在元素的下标为奇数,因此必须删除;而字符A的ASCII码值为奇数,所在数组中的下标为偶数,因此不应当删除,其他依次类推。最后t所
19、指的数组中的内容应是ACEG。试题程序:#i n clu de#i n clu de#i n clu de s t r i n g.hv o i d fu n(char *s,char t)(i n t i,j=0;fo r(i=0;s i !=1 ;i +)(i f(i%2=0&s i%2 2 0)tj+=s i;)3m ai n ()(F I L E *w f;char s 1 0 0,t 1 0 0;p r i n t f(nn P leas e en t er s t r i n g S:);s can f(“务s ,s);fu n(s,t);p r i n t f(n n T he
20、r es u lt i s :%s n,t);w f=fo p en(o u t.dat ”,;fu n (,A B C D E F G 1 2 3 4 5,Z t);fp r i n t f(w fz;fclo s e(w f);2.改错题下列给定程序中函数f tin()的功能是计算1/n!的值。例如:给n输入5,则输出0.008333。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.试题程序:#i n clu de#i n clu de/*founci*/i n t fu n(i n t n)do u ble r es u lt =
21、1.0;i f(n=0)r et u r n 1.0;w hi le(n l&n 1 7 0)/*fo u n d*/r es u lt *=n+;r es u lt=l/r es u lt;r et u r n r es u lt;)main()(int n;printf(*Input N:);scanf(n%dn,&n);printf(,nl/%d!=%lfn,n,fun(n);)3.编程题编 写 函 数 它 的 功 能 是 求n以内(不包括n)同时能被5与11整除的所有自然数之和的平方根s,并作为函数值返回。例如:n为1OOO时,函数值应为s=96.979379。注意:部分源程序给出如下
22、,请勿改动主函数main和其他函数中的任何内容,仅在函数fi r n 的花括号中填入所编写的若干语句。试题程序:#include#include#includedouble fun(int n)main()(clrscr();printf(Hs=%fn*,fun(1000);第5套上机考试试题1.填空题1.卜列给定的程序中,f un()函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写(这里的“单词”是指有空格隔开的字符串)。例如,若输入:I am a student to tak e the examination则应输出:I aM A studenT tO tak E thE e
23、xaminatioN试题程序:#include#include#include#include void fun(char*p)(int k=0;for(;*p;p+)if(k)(if(*p=*)(1;2)=toupper(*(p-1);)elsek=l;)main()char chrstr64;int d;printf(HnPlease enter an English sentence within 63 letters:);gets(chrstr);d=strlen(chrstr);chrstrd=*;chrstrd+1=0;printf(HnBofore changing:n%sn,c
24、hrstr);3;printf(nnAfter changing:n%snz chrstr);2.学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s,函数fun()的功能是:把分数最高的学生数据放在h所指的数组中。注意:分数高的学生可能不只一个,函数返回分数最高学生的人数。试题程序:#include#define 1 16typedef 2 char num10;int s;STRUC;int fun(STRUC*a,STRUC*b)(int iz j =0zmax=a0.s;for(i=0;iN;i+)if(maxai .s)max=ai .s;for(i=0;iN;i+
25、)if(max=ai.s)b j 3=ai;return j;main()(STRUC s N=nGA005n,85,“GA003,76,GA002,69,“GA004”,85,nGA001 91,”GA007”,72,HGA008nz 64,HGA006n,87,“GA015”,85,nGA013Hz 91,GA012n,64z“GAO14,91,nGA011,66,”GA017”,64,GA018n,64,“GA016”,72;STRUC hN;int i,n;FILE*out;n=fun(s,h);printf(nThe%d highest score:n,n);for(i=0;in;i
26、+)printf(H%s%4dn n,h i .num,hi .s);printf(nnH);out=f open(out 4 5.datn,*wH;fprintf(out,1 1%dnn,n);for(i=0;in;i+)fprintf(out,H%4dn*,h i .s);fclose(out);2 .改错题下列给定程序中函数ft m()的功能是计算正整数n u m 的各位上的数字之平方和。例 如:输入3 5 2,则输出应该是3 8;若输入3 2 8,则输出应该是7 7。请改正程序中的错误,使它能得到正确结果。注意:不要改动m a i n 函数,不得增行或删行,也不得更改程序的结构。试题程
27、序:#include#include long fun(long num)(/*found*/long k=l;do(k+=(num%10)*(num%10);num/=10;/*found*while(num)return(k);main()(long n;clrscr();printf(nPlease enter a number:n);scanf(n%ld,&n);printf(nn%ldnn,fun(n);)3.编程题请编写函数m n(),它的功能是求F i b o n a c c i 数列中小于t 的最大的一个数,结果由函数返回。其中F i b o n a c c i 数列F(n)的
28、定义为F(0)=0,F =1F(n)=F(n-1 )+F(n-2)例如:t=1 0 0 0 时,函数值为98 7。注意:部分源程序给出如下。请勿改动主函数m a i n 和其他函数中的任何内容,仅在函数ft m 的花括号中填入所编写的若干语句。试题程序:#include#include#includeint fun(int t)main()(int n;clrscr();n=1000;printf(nn=%dz f=%dnH,n,fun(n);第6套上机考试试题1.填空题1.下列给定程序中,函数f Un()的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。试题程序:#inc
29、lude#include#include#define N80int fun(char*s,char*t)int n;char*p,*r;n=0;while(*s)P=s;r=t;while(*r)if(*r=*p)r+;1;else break;if(*r=2)n+;3;return n;main()char aN,bN;int m;printf(nnPlease enter string a:n);gets(a);printf(nnPlease enter substring b:);gets(b);m=fun(a,b);printf(nnThe result is:m=%dn,f,m);
30、2.函数f iin()的功能是用来删除字符串中的所有空格。例如:输入asd af aa z 6 7,则输出为a$daf haz67。试题程序:#include#include#include int fun(char*str)(int i,j=0;for(i=0;stri!=1 ;i+)if(stri !=1 1)strj+=2;3=0,)main()FILE*wf;char str81,*s=nasd af aa z67n;printf(Input a string:“);gets(str);puts(str);fun(str);printf(n*str:%s n,str);wf=fopen
31、(out.datn,);fun(s);fprintf(wf,n%sn,s);fclose(wf);)2.改错题下列给定程序中,函数fUn()的功能是将字符串s中位于偶数位置的字符或ASCH码为奇数的字符放入字符串t中(规定第一个字符放在第0位中)。例如:字符串中的数据为ADFESHDI,则输出应当是AFESDL请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include#include#include#define80/*found*/void fun(char s,char t )(int i,j=0;for(i=0;i
32、strlen(s);i+)/*found*/if(i%2=0I|si%2!=0)tj+=si;t j)=T0;main()(char s Nz t N;clrscr();printf(nnPlease enter string s:H);gets(s);fun(s,t);printf(nnThe result is:%snH,t);3.编程题请编写一个函数fi rn。,它的功能是计算并输出给定整数n的所有因子(不包括1与自身)的平方和(规定n的值不大于1 0 0)。例如:主函数从键盘给输入n的值为5 6,则输出为sum=l 113。注意:部分源程序给出如下。请勿改动主:函数main和其他函数中
33、的任何内容,仅在函数ftm的花括号中填入所编写的若干语句。试题程序:#include long fun(int n)main()(int n;long sum;printf(1 1 Input n:);scanf(H%dn,&n);sum=fun(n);printf(,sum=%ldn,sum);第7套上机考试试题1.填空题1.下列给定程序中,函数f Un()的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和衣达式。例如变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。试题程序:#include#include int fun(int*xz int y)(
34、1 t;t=*x;*x=y;return(t)2main()int a=3,b=8;printf(H%d%dn”,a,b);b=fun(3,b);printf(n%d%dn nz az b);2.某学生的记录由学号、8门课成绩和平均分组成,学号和8门课的成绩已在主函数中给出。函数f un()的功能是:求出该学生的平均分放在记录的ave成员中。请自己定义正确的形参。例如,若学生的成绩是85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应当是78.875。试题程序:#include#define N 8typedef struct char nu m 10;double
35、sN;double ave;STRUC;void f un()(int i;p-ave=1;for(i=0;iave=p-ave+p-si;p-ave=2;)main()(FILE*wf;STRUC s=GAO05”,8 5,5,76,69,5,85,91,72,64.5,87.5;int i;fun(3);printf(The%s*s student data:n*,s.num);for(i=0;iN;i+)printf(%4.1fn,s.si);printf(nnave=%7.3fnH,s.ave);wf=fopen(nout.dat,w);fprintf(wf z nave=%7.3 f
36、,s.ave);fclose(wf);2.改错题下列给定程序中,函数f tm()的功能是找出100n(不大于1000)之间百位数字加十位数字等于个位数字的所有整数,把这些整数放在s所指的数组中,个数作为函数值返回。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include#define N 100int fun(int*s,int n)(int i,j,k,a,b,c;j=0;for(i=100;in;i+)(I*found*/k=n;a=k%10;k/=10;b=k%10;c=k/10;if(a=b+c)!*found
37、*/return j;main()int aN,n,num=0,i;doprintf(HnEnter n(1000);num=fun(a,n);printf(HnnThe result:n*);for(i=0;inum;i+)printf(n%5d,ai);printf(nn);)3.编程题程序定义了NXN的二维数组,并在主函数中自动赋值。请编写函数fu n(i n t a N ,i n t n),该函数的功能是使数组左卜半三角元素中的值加l:no例如:若n的值为3,a数组中的值为a=2 5 41 6 95 3 7则返回主程序后a数组中的值应为5 5 44 9 98 6 1 0注意:部分源程序
38、给出如下。请勿改动主函数m a i n和其他函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。试题程序:#include#include#include#defineN 5fun(int a N,int n)main()(int aN N,n,iz j;clrscr();printf(*The array*nH);for(i=0;iN;i+)/*产生一个随机 5*5 矩阵*/(for(j=0;j=5);printf(nn=%4dnH,n);fun(a,n);printf(n*THE RESULT*”);for(i=0;iN;i+)for(j=0;jN;j+)printf(,%4d,l,
39、ai j);printf(n);第8套上机考试试题1.填空题1.下列给定程序中fiin()函数的功能是:将n个无序整数从小到大排序。试题程序:#include#include#includefun(int n,int*a)int iz j,p,t;for(j=0;j 1;j+)P=j;for(i=2;iai)p=i;if(p!=j)t=aj;aj=ap;ap=t;putarr(int n,int*z)int i;for(i=l;i=n;i+r 3)printf(n%4dn,*z);if(!(i%10)printf(*n);printf(nnn);)m a i n()int a a 20=9,3
40、,0,4,1,2,5,6,8,10,7,n=ll;printf(nnBefore sorting%d numbers:nn,n);putarr(n,aa);fun(n,aa);printf(HnAfter sorting%d numbers:nn,n);putarr(n,aa);2.函数ftin()的功能是:求出ss所指字符串中指定字符的个数,并返回1此值。例如,若输入字符串123412132,输入字符1,则输出3。试题程序:#include#include M 81int fun(char*ss,char c)(int i=0;for(;*ss 2 01;ss+)if(*ss=c)i+;re
41、turn 3;main()(FILE*wf;char aM,ch;printf(nPlease enter a string:);gets(a);printf(nnPlease enter a char:);ch=getchar();printf(nnThe number of the char is:%dn,fun(a,ch);wf=f open(*out.dat,*w *);fprintf(wfz n%dz fun(n123412132n,11);fclose(wf);)2.改错题下列给定程序中,函数fun()的功能是求出数组中最小数和次最小数,并把最小数和a0中的数对调,次最小数和a l
42、中的数对调。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include#include#defineN 20void fun(int*a,int n)(int i,m,t,k;/*found*for(i=0;in;i+)m=i;for(k=i;kn;k+)if(akam)*found*k=m;t=ai;ai=a m;a m=t;main()(int x,bN=ll,5,12,0,3,6,9,7,10,8,n=10,i;clrscr();for(i=0;in;i+)printf(n%d Hrbi);printf(n);fu
43、n(b,n);for(i=0;in;i+)printf(H%d”,bi);printf(nnn);3.编程题m个人的成绩存放在score数组中,请编写函数它的功能是将高于平均分的人数作为函数值返回,将高于平均分的分数放在up所指的数组中。例如,当score数组中的数据为24,35,88,76,90,54,59,66,96时,函数返回的人数应该是5,up中的数据应为88,76,90,66,96。注意:部分源程序给出如下.请勿改动主函数main和其他函数中的任何内容,仅在函数f un的花括号中填入所编写的若干语句。试题程序:#include#include#include int fun(int
44、score,int m,int u p)(m a i n()(int i,n,up 9;int score9=24,35,88,76,90,54,59,66,96;clrscr();n=fun(score,9,up);printf(nnup to the average score are:n);for(i=0;in;i+)printf(M%d,up i);第9套上机考试试题1.填空题1.N个有序整数数列已放在维数组中,给定下列程序中,函数ftin()的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,则返回其下标值;反之,则返回-1。折半查找的基本算法是:每次查找前先确定数组中待查的
45、范围:low和high(lowhigh,查找结束。试题程序:#include#define N 10int fun(int a,int m)int low=0,high=N-l,mid;while(low=high)mid=1;if(mamid)low=mid+l;else return(mid);3(-1);main()int i,aN=-3,4,7,9,13,24,67,89,100,180,k,m;printf 数组中的数据如下:”);for(i=s0;i=0)printf(nm=%dz index=%dnu,m,k);else printf(Not be found!nH);2.函数f
46、 un()的功能是:移动一维数组中的内容,若数组中仃n个整数,要求把下标从0到p(pWn-l)的数组元素平移到数组的最后。例如,一维数组中的原始内容为1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,p的值为3。移动后,一维数组中的内容应为5,6,7,8,9,10,11,12,13,14,15,1,2,3,4。试题程序:#include#define N 80void fun(int*w,int p,int n)(int i,j,t;for(i=0;i=1;i+)t=2;for(j=l;jn;j+)wj-l=wj;w)main()(FILE*wf;intaN=1,2,3,
47、4,5,6,7,8,9,10,11,12,13,14,15,bN=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15;int I,p,n=15;printf(The original data:nH);for(i=0;in;i+)printf(n%3dnzai);printf(nnEnter p:);scanf(“3d”,3);fun(a,p,n);printf(0nThe data after moving:nn);for(i=0;in;i+)printf(“省3d”,ai);printf(nnn);wf=fopen(1 1 out.datH,*wn);fun(b,3,n
48、);for(i=0;in;i+)fprintf(wf,、3d“,bi);fclose(wf);)2.改错题下列给定程序中,函数f bn()的功能是计算并输出high以内的素数之和。high由主函数传给f tm()函数。若high的值为100,则函数的值为1060。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include#include#includeint fun(int high)(int sum=O,n=O,j,yes;while(high=2)yes=1;for(j=2;j=high/2;j+)*found*if
49、high%j=0yes=O;break;*found*if(yes=0)sum+=high;n+;)high;return sum;main()(clrscr();printf(H%dnn,fun(100);3.编程题请编写函数void fun(intx,int pp,in t*n),它的功能是求出能整除x且不是奇数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。例如,若x中的值为2 4,则有6个数符合要求,它们是2,4,6,8,12,24o注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。试题程序:
50、#include#include void fun(int xz int p p,int*n)main()(int x,aa1000,n,i;clrscr();printf(unPlease enter an integer number:n *);scanf(n%dH,&x);fun(x,aa,&n);for(i=0;in;i+)printf(H%d,aa i);printf(nn );第10套上机考试试题1.填空题1.下列给定程序中,函数fiin()的功能是:根据形参m的值(2W mW 9),在m行m列的二维数组中存放如下所示的数据,由main。函数输出。例如,若输入2,则输出1 22 4