![計(jì)算機(jī)語(yǔ)言B(C語(yǔ)言)歷年試題及參考答案_第1頁(yè)](http://file4.renrendoc.com/view/95c7badd63b1346278032f9aba80d845/95c7badd63b1346278032f9aba80d8451.gif)
![計(jì)算機(jī)語(yǔ)言B(C語(yǔ)言)歷年試題及參考答案_第2頁(yè)](http://file4.renrendoc.com/view/95c7badd63b1346278032f9aba80d845/95c7badd63b1346278032f9aba80d8452.gif)
![計(jì)算機(jī)語(yǔ)言B(C語(yǔ)言)歷年試題及參考答案_第3頁(yè)](http://file4.renrendoc.com/view/95c7badd63b1346278032f9aba80d845/95c7badd63b1346278032f9aba80d8453.gif)
![計(jì)算機(jī)語(yǔ)言B(C語(yǔ)言)歷年試題及參考答案_第4頁(yè)](http://file4.renrendoc.com/view/95c7badd63b1346278032f9aba80d845/95c7badd63b1346278032f9aba80d8454.gif)
![計(jì)算機(jī)語(yǔ)言B(C語(yǔ)言)歷年試題及參考答案_第5頁(yè)](http://file4.renrendoc.com/view/95c7badd63b1346278032f9aba80d845/95c7badd63b1346278032f9aba80d8455.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、有一個(gè)已排好序的數(shù)組,今有一個(gè)數(shù),要求按原來排序的規(guī)律將它插入數(shù)組(從小到大排列)中。main(){ inti,k,x,a[5]={l,3,5,7};scanf(u%d,\x);for(k=4;k>0;k-) /*從后向前比較*/if(a[k-l]>x)a[k]=a[k-l];/*將大數(shù)向后移動(dòng)*/elsebreak; /*找到插入的位置,退出*/a[k]=x; /*完成插入操作*/for(i=0;i<N;i++) printf(u%d",a[i]);)2、打印出所有的水仙花數(shù)。main(){inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i%10;if(a*a*a+b*b*b+c*c*c==i)printf(M\nThenumber%disflower\nM,i);})3、猴子吃桃問題。main(){intday=10,xl,x2=l;do{xl=2*x2+2;x2=xl;day-;}while(day>0);printf(,,sum=%d\n,\xl);4、求l!+2!+3!+ 20!main(){intn,i;floatt=l,f=O;printf(Minputn:\nH);scanf(H%dH,&n);for(i=l;i<=n;i++){t=t*i;f=f+t;}printf(Msum=%d\nn,f);)5、打印楊輝三角形main(){intij,a[ll][ll];for(i=l;i<=10;i++){a[i][l]=l;a[i][i]=l;}for(i=2;i<=10;i++)for(j=2;j<=i-l;j++)a[i]U]=a[MJU.lJ+a[M]U];for(i=l;i<=10;i++){forQ=l;j<=i;j++)printf(H%dM,a[i][j]);printf(n\nH);)}6、打印輸出100?200之間的所有素?cái)?shù)#includeHmath.hMmain(){intn,k,flag;for(n=100;n<200;n++){flag=l;for(k=2;k<=sqrt(n);k++)if(n%k==0){flag=O;break;}if(flag==l)printf(M%dH,n);}}7、用冒泡法對(duì)數(shù)組進(jìn)行排序(從大到?。?include<stdio.h>main(){inta[ll],ij,k,x;printfC'Input10numbers:\nn);for(i=l;i<ll;i++)scanf(M%dM,&a[i]);printf(M\nH);for(i=l;i<10;i++){k=i;for(j=i+l;j<=10;j++)if(a[j])>a[k])k=j;if(i!=k){x=a[i];a[i]=a[k];a[k]=x;}}printf(nThesortednumbers八n");for(i=l;i<ll;i++)printf(M%dn,a[i]);}{x(x<1)2x—l(l《x<I0)輸入x輸出y。3x-ll(x>10)main()(floatx,y;scanf(H%F*,&x);if(x<l)y=x;elseif(x>=l&&x<10)y=2*x-l;elsey=3*x-ll;printf(M%F\y);}9、編寫一個(gè)程序,當(dāng)用戶輸入年份和月份,電腦會(huì)自動(dòng)輸出當(dāng)月天數(shù)。main(){intyear,month,days;scanf(H%d%dM,&year,&month);switch(month){case1:case3:case5:case7:case8:case10:case12: /*處理“大”月*/days=31;break;case6:case9:case11:/*處理“小''月*/days=30;break;case2: /*處理“平”月*/if(year%4==0&&year%100!=0IIyear%400==0)days=29; /*如果是閏年*/elsedays=28; /*不是閏年*/break;default: /*月份錯(cuò)誤*/printfC'lnputerror!\nn);days=O;}if(days!=O)printfC%d,%dis%ddays\nM,year,month,days);)10、求一個(gè)3X3矩陣對(duì)角線元素之和#include<stdio.h>main(){inti,j,sum=0,a[3][3];/*說明數(shù)組a*/for(i=0;i<=2;i++)for(j=0;j<=2;j++)scanf(M%dH,&a[i][j]);/*輸入數(shù)組元素的值*/for(i=0;i<=2;i++) /*按行輸出*/for(j=0;j<=2;j++)if(i==j)sum+=a[i][i]; /*對(duì)角線元素求和*/printf(n%dsum);}11、用選擇法對(duì)10個(gè)整數(shù)排序#include<stdio.h>main(){inta[ll],ij,k,x;printf(MInput10numbers:\nM);for(i=l;i<ll;i++)scanf(M%d,\&a[i]);printf(M\nM);for(i=l;i<10;i++){k=i;forG=i+l;j<=10;j++)if(a[j]<a[k])k=j;if(i!=k){x=a[i];a[i]=a[k];a[k]=x;}}printf(HThesortednumbers:\nM);for(i=l;i<ll;i++)printf(H%dM,a[i]);)12、有一個(gè)3X4的矩陣,要求編程求出其中值最大的那個(gè)元素,以及其所在的行號(hào)和列號(hào)。main()Iintij,m,n,max,a[3][4];for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",&a[i]|j]);for(i=0;i<3;i++)|for(j=0;j<4;j++)printf("%5d",a[i][j]);printf("\n");)max=a[0][0];for(m=0,n=0,i=0;i<3;i++)for(j=0;j<4;j++)(if(max<a[i][j]){m=i;n=j;max=a[i][j];}/*m和n分別存放最大值雖在的行號(hào)和列號(hào)*/)printf("max=a[%d][%d]=%5d\n",m,n,a[m][n]);卜13、求矩陣A(2X3)的轉(zhuǎn)置矩陣B(3X2)?!?23-1 「14-|A=| |B=|25|?-456」 1-36」矩陣轉(zhuǎn)置算法:在原來矩陣A中的元素應(yīng)是轉(zhuǎn)置后矩陣B中的元素#include<stdio.h>main(){inti,j,b[3][2],a[2][3]={{1,2,3},{4,5,6}};/*說明初始化數(shù)組a*/for(i=0;i<=l;i++)for(j=0;j<=2;j++)b[j][i]=a[i][j]; /*進(jìn)行數(shù)組轉(zhuǎn)置*/for(i=0;i<=2;i++,printfTXn"))/*按行輸出*/for(j=0;j<=l;j++)printf("%d",b[i]U]);)14、用二分法求下面方程在(-10,10)之間的根。2x3-4x2+3x-6=0#include<math.h>main()(floatxl,x2,x,f,fl,f2;scanf(M%f%fM,&xl,&x2);fl=2*pow(xl,3)-4*xl*xl+3*xl-6;f2=2*pow(x2,3)-4*x2*x2+3*x2-6;if(H*f2>0)printf(Mfangchenggaiqujianneiwushigen'');else{do{x=(xl+x2)/2;f=2*pow(x,3)-4*x*x+3*x-6;if(fl*f>0){xl=x;fl=f;}elseif(f2*f>0){x2=x;f2=f;}}while(fabs(f)>=0.00001);printf(Hx=%r\x);)卜15、求分?jǐn)?shù)序列前20項(xiàng)和。2/1+3/2+5/3+8/5+13/8+21/13+ main(){intk;floati=lj=2,sum=0,t;for(k=l;k<=20;k++)sum+=j/i;t=j+i;i=j;j=t;)printf("qian20xianghewei:%f",sum);)16、給出一個(gè)百分制成績(jī),要求輸出成績(jī)等級(jí)ABCADE,90分以上為A,80—89分為B,7。一79分為C,6U9分為D,60分以下為E。main(){intselect,score;chargrade;printf(HPleaseinputthescore:**);scanf(”%d\n'\&score);select二score/10;switch(select){case1:case2:case3:case4:grade=,E,;break;grade=,D,;break;grade=,C,;break;grade=,B,;break;case10:grade='A';break;/*注意使用break語(yǔ)句*/printf(Mgrade=%c\nM,grade);)17、求Fibonacci數(shù)列40個(gè)數(shù)#include<stdio.h>main(){intnj,unl,un2,un;un=un2=1; /*設(shè)置遞推初始值*/for(i=3;i<=40;i++)/*用遞推法計(jì)算第N項(xiàng)的值*/{uni=un2;un2=un;un=uni+un2;printf("No?%dis%d\nM,n,un);})18、求一元二次方程的根。#include<math.h>main()floata,b,c,xl,x2,deta;scanf(M%f%f%F\&a,&b,&c);deta=b*b-4*a*c;if(deta>0)xl=(-b+sqrt(deta))/(2*a);x2=(-b-sqrt(deta))/(2*a);printf(Mfangchengdegenwei:xl=%fx2=%f0,xl,x2);}elseif(deta==O){xl=x2=-b/(2*a);printf(Hfangchengdegenwei:xl=x2=%fH,xl);}elseprintf(Mfangchengmeiyoushigen.M);二、基本算法兩個(gè)變量交換,素?cái)?shù)判斷,計(jì)算分段函數(shù)值,求數(shù)列或級(jí)數(shù)的和,求解二次方程,字母大小寫轉(zhuǎn)換,數(shù)組最大值、最小值、平均值計(jì)算,數(shù)組排序,矩陣轉(zhuǎn)置,數(shù)組逆序排列,矩形法和梯形法計(jì)算定積分,最小公倍數(shù)和最大公約數(shù)計(jì)算,三角形面積計(jì)算等等。三、基本算法舉例1、輸入三個(gè)數(shù)a,b,c,按大小順序輸出main(){floata,b,c,t;scanf("%f,%f,%f",&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b:b=c;c=t:}printf(*%5.2f,%5.2f,%5.2f”,a,b,c):)2、求1到100的和。main()(inti,sum=0;i=l;while(i<=100){sum=sum+i;i=i+l;)printf("sum=%d\n”,sum);)main(){inttotal=0,i=l;while(i<=100){total=total+i;i++;)printf(wTotal=%d\n*,total);}3、求pimainO(inti=l,j=-l;floatpi=0,k=-l,x;while((x=l.0/⑵0*i-l))>0.000001)/*整數(shù)除以整數(shù)還是商為整數(shù)因此(x=l.0/(2.0*i-l))*/{k=k*j;pi=pi+k*x;i++;}printf(*pidezhiwei%f”,4*pi);}4、判斷一個(gè)數(shù)能否同時(shí)被3和5整除。main()(intn;scanf&n);if(n%3=0&&n%5==0) /*注意關(guān)系表達(dá)式的寫法*/printf("%dnengbei3he5zhengchu.n);elseprintf("%dbunengbei3he5zhengchu.*,n);5、素?cái)?shù)#include"math,h”mainO{intn,k,flag;for(n=100;n<200;n++){flag=l;for(k=2;k<=sqrt(n);k++)if(n%k=O) /*注意相等關(guān)系的表示*/{flag=O;break;}if(flag=l)printf(*%d",n);)}6、求m和n的最大公約數(shù)和最小公倍數(shù)。main(){int叫t,n,i=2,yueshu,beishu;scanf("%d%d”, &n);if(m<=n){t=m;m=n;m=t;}/*m存放大數(shù),n存放小數(shù)*/for(i=n;i>l;i-) /*最大公約數(shù)*/{if(m%i==0&&n%i=0){yueshu=i;break;}}beishu=n*m/yueshu; /*最小公倍數(shù)*/printf("%dhe%ddezuidagongyueshushi%d\n”,m,n,yueshu);printf(*%dhe%ddezuixiaogongbeishushi%d\n*,m,n,beishu);)7、求二元一次方程的根。ttinclude<math.h>main()(floata,b,c,xl,x2,deta;scanf(*%f%f%f*,&a,&b,&c);deta=b*b-4*a*c;if(deta>0)(xl=(-b+sqrt(deta))/(2*a);x2=(-b-sqrt(deta))/(2*a);printf(*fangchengdegenwei:xl=%fx2=%f*,xl,x2);)elseif(deta==O){xl=x2=-b/(2*a);printf(*fangchengdegenwei:xl=x2=%f*,xl);}elseprintf("fangchengmeiyoushigen.");)8.符號(hào)函數(shù)。main(){floatx;inty;scanf("%f",&x);if(x>=0)if(x>0)y=l;elsey=0;elsey=-1;printf(“%f”,y);)x(x<1)9、函數(shù)<2x-l(1<x<10)輸入x輸出y。13H(x>10)mainO(floatx,y;scanf&x);if(x<l)y=x;elseif(x>=l&&x<10)y=2*x-l;elsey=3*x-ll;printfC%r,y);}10、給出一個(gè)百分制成績(jī),要求輸出成績(jī)等級(jí)ABCADE,90分以上為A,80—89分為B,70—79分為C,60—69分為D,60分以下為E。main(){intselect,score;chargrade;printf(*Pleaseinputthescore:");scanf("%d\n",ftscore);select=score/10;switch(select){case1:case2:case3:case4:grade='E,;break;grade='D,;break;grade='C';break;grade='B';break;case10:grade='A';break;/*注意使用break語(yǔ)句*/printf("grade=%c\n”,grade);}11、求Fibonacci數(shù)列40個(gè)數(shù)#include<stdio.h>main(){intn,i,uni,un2,un;un=un2=1; /*設(shè)置遞推初始值*/for(i=3;i<=40;i++)/?用遞推法計(jì)算第N項(xiàng)的值*/{uni=un2;un2=un;un=uni+un2;printf("No.%dis%d\n*,n,un);})12、n!mainO{intn,i;float廿=0;/*注意階乘及其和不能定義為整數(shù),此時(shí)會(huì)溢出,應(yīng)為長(zhǎng)整數(shù)或?qū)崝?shù)。*/printfCinputn:\n");scanf("%d",&n);for(i=l;i<=n;i++)t=t*i;printfCsum=%d\n/r,f);}13、求l!+2!+3!+ .20!mainO{intn,i;floatt=l,f=O;/*注意階乘及其和不能定義為整數(shù),此時(shí)會(huì)溢出,應(yīng)為長(zhǎng)整數(shù)或?qū)崝?shù)。*/printfCinputn:\n*);scanf&n);for(i=l;i<=n;i++){t=t*i;f=f+t;}printf("sum=%d\n”,f);}100 50 10114、求和Ek+zd+zJk=\ k=\ k=]kmainO(inti;floatx,y,z,sum;for(x=0,i=l;i<=100;i++)x+=i;for(y=0,i=l;i<=50;i++)y+=i*i;for(z=0,i=l;i<=10;i++)z=z+l.0/i; /*注意1.0/i的表示,不能寫為1/1*/sum=x+y+z;printf(*sanxiangdehewei%f”,sum);15、打印出所有的水仙花數(shù)。main(){inti,a,b,c;for(i=100;i<=999;i++){a=i/100:/*取百位*/b=(i-a*100)/10; /*取十位*/c=i%10;/*取個(gè)位*/if(a*a*a+b*b*b+c*c*c=i)printf(*\nThenumber%disflower\n*,i);))16、求分?jǐn)?shù)序列前20項(xiàng)和。2/1+3/2+5/3+8/5+13/8+21/13+ main(){intk;floati=l,j=2,sum=0,t;for(k=l;k<=20;k++)(sum+=j/i;t=j+i;i=j;j=t:)printf(*qian20xianghewei:%f”,sum);)17、猴子吃桃問題。main(){intday=10,xl,x2=l:do{xl=2*x2+2;x2=xl;day-;}while(day>0);printf("sunF%d\rT,xl);))18、用二分法求下面方程在(TO,10)之間的根。2x-4x2+3x-6=0#include<math.h>main()(floatxl,x2,x,f,fl,f2;scanf &xl,&x2);fl=2*pow(xl,3)-4*xl*xl+3*xl-6;f2=2*pow(x2,3)-4*x2*x2+3*x2-6;if(fl*f2>0)printf(*fangchenggaiqujianneiwushigen");else(do{x=(xl+x2)/2;f=2*pow(x,3)-4*x*x+3*x-6;if(fl*f>0){xl=x;fl=f;}elseif(f2*f>0){x2=x;f2=f;}}while(fabs(f)>=0.00001);printf("x=%f",x);))19、打印三角形和菱形。三角形:mainO{intx,i,h;printf(*shuruhangshuscanf&h);for(x=l;x<=h;x++)(for(i=l;i<=x;i++)printfC*");printf('\n");)菱形:main()intn,i,x,h;printfCshuruhangshu:scanf("%d",&h);for(x=l;x〈=h;x++)(for(i=l;i<=h-x;i++)printf(**);for(n=l;n<=2*x-l;n++)printf("*");printf(*\n*);)for(x=hT;x>=l;x)(for(i=l;i<=h-x;i++)printf(**);for(n=l;n<=2*x-l;n++)printf(***);printf(*\n*);)20、冒泡排序(從大到小)^include<stdio.h>mainO{inta[ll],i,j,k,x;printf(*Input10numbers:\n*);for(i=l;i<ll;i++)scanf("%d”,&a[i]);printf-;for(i=l;i<10;i++){k=i:for(j=i+l;j<=10;j++)if(a[j])>a[k])k=j;if(i!=k) {x=a[i];a[i]=a[k];a[k]=x;})printf("Thesortednumbers:\n");for(i=l;i<ll;i++)printf(M%d*,a[i]);21、22、求矩陣A(2X3)的轉(zhuǎn)置矩陣B(3X2)。r123 r14-iA=I |B=I25|1-456」 1-36」矩陣轉(zhuǎn)置算法:在原來矩陣A中的元素應(yīng)是轉(zhuǎn)置后矩陣B中的元素^include<stdio.h>main(){inti,j,b[3][2],a[2][3]={{1,2,3},{4,5,6}};/*說明初始化數(shù)組a*/for(i=0;i<=l;i++)for(j=0;j<=2;j++)b[j][i]=a[i][j]; /*進(jìn)行數(shù)組轉(zhuǎn)置*/for(i=0;i<=2;i++,printf(w\nw)) /*按行輸出*/for(j=0;j<=l:j++)printf(*%d*,b[i][j]);)23、有一個(gè)3X4的矩陣,要求編程求出其中值最大的那個(gè)元素,以及其所在的行號(hào)和列號(hào)。main()(inti,j,m,n,max,a[3][4];for(i=0;i<3;i++)for(j=0;j<4;j++)scanf&a[i][j]);for(i=0;i<3;i++)(for(j=0;j<4;j++)printf("%5d",a[i][j]);printf(*\n9;)max=a[0][0];for(m=0,n=0,i=0;i<3;i++)for(j=0;j<4;j++)(if(max<a[i][j]){m=i;n=j;max=a[i][j];}/*m和n分別存放最大值雖在的行號(hào)和列號(hào)*/printf("max=a[%d][%d]=%5d\n",m,n,a[m][n]);25、用選擇法對(duì)10個(gè)整數(shù)排序??include<stdio.h>mainO{inta[ll],i,j,k,x;printf("Input10numbers:\n*);for(i=l;i<ll;i++)scanf&a[i]);printf("\n");for(i=l;i<10;i++){k=i;for(j=i+l;j<=10;j++)if(a[j]<a[k])k=j;if(i!=k) {x=a[i];a[i]=a[k];a[k]=x;})printf(*Thesortednumbers:\n*);for(i=l;i<ll;i++)printf(*%d”,a[i]);)26、求一個(gè)3X3矩陣對(duì)角線元素之和4include<stdio.h>main(){inti,j,sum=0,a[3][3];/*說明數(shù)組a*/for(i=0;i<=2;i++)for(j=0;j<=2;j++)scanf(*%d^,&a[i][j]); /*輸入數(shù)組元素的值*/for(i=0;i<=2;i++) /*按行輸出*/for(j=0;j<=2;j++)if(i=j)sum+=a[i][i]; /*對(duì)角線元素求和*/printf(*%d*,sum);27、有一個(gè)已排好序的數(shù)組,今有一個(gè)數(shù),要求按原來排序的規(guī)律將它插入數(shù)組(從小到大排列)中。main(){inti,k,x,a[5]={l,3,5,7};scanf("%d”,x):for(k=4;k>0;k—) /*從后向前比較*/if(a[k-l]>x)a[k]=a[k-l];/*將大數(shù)向后移動(dòng)*/else break; /*找到插入的位置,退出*/a[k]=x; /*完成插入操作*/for(i=0;i<N:i++)printf(a%d”,a[i]):28、將一個(gè)數(shù)組按逆序重新排放。main()(inti,j,t,a[5];for(i=0;i<5;i++)scanf&a[i]);for(i=0;i<5;i++)printfa[i]);printf(*\n*);for(i=0,j=4;i<j;i++,j—)(t=a[i]:a[i]=a[j]:a[j]=t;}for(i=0;i<5;i++)printfa[i]);printf(*\n*);}29、楊輝三角形main(){inti,j,a[ll][11];for(i=l:i<=10;i++){a[i][l]=l:a[i][i]=l;}for(i=2;i<=10;i++)for(j=2;j<=i-l;j++)a[i][j]=a[i-l][j-l]+a[i-l][j];for(i=l;i<=10;i++){for(j=l;j<=i;j++)printf(*%d*,a[i][j]);printfC\n*);30、編寫一個(gè)程序,當(dāng)用戶輸入年份和月份,電腦會(huì)自動(dòng)輸出當(dāng)月天數(shù)。main(){intyear,month,days;scanf("%d%d”,&year,&month);switch(month){case1:case3:case5:case7:case8:case10:case12: /*處理“大”月*/days=31;break;case4:case6:case9:case11:/*處理“小"月*/days=30;break;case2: /?處理“平"月*/if(year%4-0&&yeeir%100!=0||yeax%400=0)days=29; /?如果是閏年*/elsedays=28; /*不是閏年 */break;default: /*月份錯(cuò)誤*/printf(*Inputerror!\n*);days=0;)if(days!=0)printf(w%d,%dis%ddays\n",year,month,days);)三、編程題評(píng)分標(biāo)準(zhǔn)評(píng)分標(biāo)準(zhǔn):結(jié)構(gòu)完整2分(主函數(shù)或子函數(shù));變量聲明恰當(dāng)、控制符對(duì)應(yīng)正確2分;輸入(或初始化)2分;加工處理(順序、選擇或循環(huán))2分;輸出(結(jié)果)2分四、典型例題分析1、輸入m和n(m^n^O)后,計(jì)算下列表達(dá)式的值并輸出。m!n!*(m-n)!要求將計(jì)算階乘的運(yùn)算寫成函數(shù)fact(n),函數(shù)返回值的類型為floato答案:^include<stdio.h>floatfact(int);main()intm,n;floatval;intm,n;floatval;scanf(<<%d%d>,,val=fact(m)/printf(aValue:)&m,&n);(fact(n)*fact(m-n));%f\n”,val);floatfact(intn)if(n<=floatfact(intn)if(n<=0)return1;return(fact(n-1)*n);floatfact(intn){inti;floatf=l;for(i=l;i<=n;i++)f=f*i;returnf;}2、對(duì)任意輸入的x,用下式計(jì)算并打印出v的值。TOC\o"1-5"\h\z「ex x>10y=y 0 x=103x+5 x<10答案:#include"math.h〃main(){floatx,y;scanf&x);if(x>10)y=exp(x);elseif(x==10)y=0;elsey=3*x+5;printf("%f\n",y);)3、計(jì)算17/2+1/3-1/4+…+1/99T/100+…,直到最后一項(xiàng)的絕對(duì)值小于10-4為止。#include<stdio.h>main()(inti;floatsum,sign;i=l;sum=0;sign=l.0;while((1.0/i)>=le-4)sum+=sign/ii++;sign=-sign;printf("sum=%.4f”,sum);}4、輸入一行字符,分別統(tǒng)計(jì)求出其中英文字母、空格、數(shù)字和其他字符的個(gè)數(shù)并輸出結(jié)果°#include<stdio.h>main()(charstr[81];inti;intletter,space,num,other;charc;printf("Pleaseenterastring:");gets(str);letter=space=num=other=:0;for(i=0;str[i]!=\0*;i++)(c=str[i];if((c>='A'&&?='Z')||(c>='a'&&c<='z'))letter++;elseif(c〉='O'&&c<=9')num++;elseif(c='')space++;elseother++;}printf(/zInthisstring:letter=%d,space=%d,num=%d,other=%d*,letter,space,num,other);}5、任意從鍵盤輸入10個(gè)整數(shù),按從小到大的順序排序,并輸出結(jié)果。#include<stdio.h>main()intnum[10];inti,j,k;inttemp;printf(^Pleaseenter10numbers:\n");for(i=0;i<10;i++)scanf&num[i]);for(i=0;i<9;i++)(k二i;for(j=i+l;j<10;j++){if(num[k]>num[j])k=j;if(k!=i)(temp=num[i];num[i]=num[k];num[k]=temp;})printf(*Aftersorted:\n");for(i=0;i<10;i++)printf("%5d”,num[i]);6、編程計(jì)算1!+2!+3!+4!+….+10!的值答案1:^include<stdio.h>main()(longterm=1,sum=0;inti;for(i=1;i<=10;i++)(term=term*i;sum=sum+term;printf(*l!+2!+...+10!=%ld\n/z,sum);)答案2:#include<stdio.h>main()(longterm,sum=0;inti,j;for(i=1;i<=10;i++)(term=1;for(j=1;j<=i;j++)(term=term*j;)sum=sum+term;}printf("1!+2!+…+10!=%ld\n”,sum);7、從鍵盤任意輸入某班30個(gè)學(xué)生的成績(jī),將成績(jī)按照由高到低順序打印。答案1:ttinclude<stdio.h>main()(floatscore[30],temp;intn=30,i,j;printf("Pleaseenterthenumberandscore:\nz,);for(i=0;i<n;i++)(scanf("%f〃,&score[i]);}/★用交換法按成績(jī)由高到低對(duì)學(xué)生成績(jī)排序*/for(i=0;i<n-l;i++)for(j=i+l;j<n;j++)if(score[j]>score[i])/*按成績(jī)山高到低排序*/temp=score[j];score[j]=score[i];score[i]=temp;printf(*Sortedresults:\n");for(i=0;i<n;i++) /*打排序結(jié)果*/(printf("%4.Of\n”,score[i]);))答案2:ttinclude<stdio.h>main()(floatscore[30],temp;intn=30,i,j,k;printf("Pleaseenterthenumberandscore:Xn");for(i=0;i<n;i++){scanf(級(jí)f”,&score[i]);)/*用選擇法按成績(jī)由高到低對(duì)學(xué)生成績(jī)排序*/for(i=0;i<n-l;i++){k=i;for(j=i+l;j<n;j++)(if(score[j]>score[k])k=j;if(k!=i)temp=score[i];score[i]=score[k];score[k]=temp;printf(*Sortedresults:Xn^);for(i=0;i<n;i++) /*打印排序結(jié)果*/{printf(*%4.Of\n”,scoreti]);)8、求5x5方陣的主對(duì)角線元素之和。#include<stdio.h>main(){inta[5][5],i,j,ss=0;printf("按行輸入數(shù)據(jù):”);for(i=0;i<5;i++)for(j=0;j<5;j++)scanf((i%d",&a[i][j]);for(i=0;i<5;i++)ss=a[i][i];printf("sum=%d\n",ss);)9、求:sum=1/2+1/4+1/6+1/8+ .前10項(xiàng)之和并輸出和。^include<stdio.h>main(){floatfl,sum=0.0;intn;fl=2;for(n=l;n<10;n++){sum+=l/fl;fl=fl+2;}printf("sum=%f\n”,sum);10、編程找出10?99中個(gè)位與十位之和等于10的數(shù),要求統(tǒng)計(jì)滿足條件的數(shù)的個(gè)數(shù)(請(qǐng)注意不要重復(fù),如1+9已經(jīng)統(tǒng)計(jì)輸出,就不再統(tǒng)計(jì)輸出9+1),并按如下格式輸出:19:1+9=1028:2+8=10itinclude"stdio.h〃main()(intn,a,b,count=0;for(n=10;n<=99;n++)a=n/10;b=n%10;if(a+b==10&&a<=b)count++;printf(*%d:%d+%d=%d\n”,n,a,b,a+b);)}printf("count:%d\n”,count);)TOC\o"1-5"\h\z2 7 8 611、若數(shù)組a的各元素值為:3 6 9 ?,編寫一子函數(shù),使其與mag函數(shù)共同實(shí)現(xiàn)8 7 5 43 9 6 778623369119對(duì)各行求和并按如下格式輸出: 。87542496725#include"stdio.h"#defineM4main0(inta[M][M+1]={{2.7,8,6),13,6.9.1),(8,7,5.4),13,9.6.7)):inti,j;for(i=0;i<M;i++)(a[i][M]=fun(a[i],M);1printf("Result:?!?;for(i=0;i<M;i++)(for(j=0;j<M+1;j++)printfr%4dz,,a[i][j]);printf("\n");})請(qǐng)編寫子函數(shù):intfun(inta[],intn)(intsum=O,i;for(i=0;i<n;i++)sum+=a[i];returnsum;J12、從NxM的二維數(shù)組x中,找出并輸出最大值及其所在的行、列下標(biāo)。itdefine N 3#define M 3main(){inta[N][M]={9,11,23,6,1,15,9,17,20);inti,j,max=a[0][0],row=0,colum=0;for(i=0;i<N;i++)for(j=0;j<M;j++)if(max<a[i][j]){max=a[i][j];row=i;colum=j;)printf("max=%d,row=%dcolum=%d\n*,max,row,colum);)13、輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其他字符的個(gè)數(shù)。ttinclude"stdio.h"main()(charc;intletter=0,space=0,digital=0,other=0;printf(z,pleaseinputastring:");while((c=getchar())!=,\n){if(c>=,a&&c<=,z|Ic>=,A*&c<=,Z')letter++;elseif(c==’’)space++;elseif(c>='O'&&c<='9')digital++;elseother++;)printf("lettered,space=%d,space=%d,other=%d”,letter,space,digital,other);:■14、打印出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個(gè)3位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如,153是一水仙花數(shù),因?yàn)?53=13+53+33。main(){inti,j,k,n;for(n=100;n<1000;n++){i=n/100;j=n/10-i*10;k=n%10;if(n==i*i*i+j*j*j+k*k*k)printf("%d\n",n);))15、求方程ax2+bx+c=0的根,用3個(gè)函數(shù)分別求當(dāng)b2-4ac大于0、等于。和小于0時(shí)的根井輸出結(jié)果。從主函數(shù)輸入a、b、c的值。itinclude"math,h”floatxl,x2,disc,p,q;al(floata,floatb)x1=(-b+sqrt(disc))/(2*a);x2=(-b-sqrt(disc))/(2*a);)a2(floata,floatb)(xl=x2=-b/(2*a);)a3(floata,floatb)p=-b/(2*a);q=sqrt(-disc)/(2*a);)main()(floata,b,c;printf("pleaseinputa,b,c:,z);scanf("%f,%f,%f",&a,&b,&c);disc=b*b-4*a*c;if(disc>0)(al(a,b);printf("xl=%5.2f,x2=%5.2f”,xl,x2);)elseif(disc=0)(a2(a,b);printf("xl=x2=%5.2f”,xl);}else(a3(a,b);printf("xl=%5.2f,x2=%5.2f”,p,q);}116、求 222333334444444#include<stdio.h>main(){inti,j,k;for(i=l;i<=4;i++){for(j=l;j<=4-i;j++)printf(*");for(k=l;k<=2*i-l;k++)
printf("%d”,i);printf("\n");)的前40項(xiàng)。17、請(qǐng)編程輸出Fibonacci(斐波那契)數(shù)列(1,1,2,3,5,8,13,/*數(shù)組法*/^defineM40)的前40項(xiàng)。longfib[M]={l,1};inti;for(i=2;i<M;i++)fib[i]=fib[i-l]+fib[i-2];for(i=0;i<M;i++){if(i%4=0)printf('\n");printf(*%121d\fib[i]);):■/*簡(jiǎn)單變量法*/#include<stdio.h>voidmain()longfl=l,f2=l;intn=l;printf("%121d %121d\n",fl,f2);while(n<20){/*for(;n<20;){*/fl=fl+f2;f2=f2+fl;printf("%121d %121d\n”,fl,f2);n++;/*遞歸函數(shù)法*/longfib(inti){return(i<=2?l:fib(i-l)+fib(i-2));)main()for(i=l;i<=40;i++){printfC%121d\fib(i));if(i%2==0)printf("\n");18、請(qǐng)編寫程序,使之能在運(yùn)行后輸出以下圖形。main()inti,j,k;for(i=0;i<=3;i++) ***for(j=0;j<=2-l;j++)*****printf(*");****for(k=0;k<=2*i;k++)***printf("*〃);*printf("\n");)for(i=0;i<=2;i++){for(j=0;j<=i;j++)printf("");for(k=0;k<=4-2*i;k++)printf("*"):printf("\n"):)19、計(jì)算1-1/2+1/3-1/4+—+1/99-1/100.#include<stdio.h>main()(inti,k=l;floatsum=0;for(i=l;i<=100;i++)(sum=sum+k*l/(float)i;k=-k;printf("sum=%f\n”,sum);20、任意從鍵盤輸入10個(gè)整數(shù),計(jì)算并輸出該10個(gè)整數(shù)的平均值。ttinclude<stdio.h>main()(inti,x,sum=0;floataver;for(i=l;i<=10;i++)(printf("inputx");scanf&x);sum=sum+x;}aver=sum/10.0;printf("aver=%f\n”,aver);)21、編程實(shí)現(xiàn)求數(shù)組a的10個(gè)數(shù)(20,50,30,10,60,80,100,70,70,40)的平均數(shù)。main(){inta[10]={20,50,30,10,60,80,100,70,70,40},i,aver=0;for(i=0;i<10;i++)aver+=a[i];aver=aver/10;printf(athisaverageis%d\nu,aver);)22、請(qǐng)編寫一個(gè)完成輸入長(zhǎng)方形的長(zhǎng)和寬,計(jì)算并輸出該長(zhǎng)方形面積的程序。ttinclude<stdio.h>main()(floatx,y,z;printf(z,inputx,y:\n");scanf("%f,%f",&x,&y);z=x*y;printf(/zz=%10.2f\n",z);getch();23、請(qǐng)編寫一個(gè)實(shí)現(xiàn)符號(hào)函數(shù)的程序。TOC\o"1-5"\h\z\o"CurrentDocument"1 x>0符號(hào)函數(shù)即:y=f(x)= 0 x=0[-1 x<0#include<stdio.h>mainO{floatx,y;printf("inputx:\n");scanf&x);if(x>0)y=l;if(x==0)y=0;if(x<0)y=-l;printf("x=%10.2f\t,y=%10.2f\n”,x,y);getchO;}24、請(qǐng)編寫一個(gè)輸出如下圖案的程序。**************率**半*舉*要求:必須用循環(huán)結(jié)構(gòu)實(shí)現(xiàn)。^include<stdio.h>main()(inti,j;for(i=4;i>=l;i—)(for(j=l;j<=4-i;j++)printf("");for(j=l;j<=2*i-l;j++)printf("*");printf("\n");getchO;25、請(qǐng)編寫子函數(shù)sub_fun(intx),返回1-2+3-4+…+99T00的值。#include<stdio.h>intsub_fun(intx){inti,k=l,s=0;for(i=l:i<=x;i++)(s=s+k*i;k=-k;)returns;)根據(jù)題意,以下主函數(shù)可以不寫:main()(printf(*%d\n*,sub_fun(100));getchO;)26、請(qǐng)編寫一個(gè)實(shí)現(xiàn)對(duì)數(shù)組a的10個(gè)數(shù)(20.50,30,10,60,80,100,70,70,40)按從小到大排序的程序。#include<stdio.h>ttdefineN10mainO(inti,j,k,t,a[N]={20,50,30,10,60,80,100,70,70,40);for(i=0;i<N-l;i++)(k=i;for(j=i+l;j<N;j++)(if(a[j]<a[k])k=j;)t=a[i];a[i]=a[k];a[k]=t;)for(i=0;i<N;i++)printf(*%4d*?a[i]);printf(*\n/z);getchO;五、課后習(xí)題1、有一個(gè)已排好序的數(shù)組,今有一個(gè)數(shù),要求按原來排序的規(guī)律將它插入數(shù)組(從小到大排列)中。2、打印出所有的水仙花數(shù).3、猴子吃桃問題。4、求1!+2!+3!+ .20!5、打印楊輝三角形6、打印輸出100~200之間的所有素?cái)?shù)7、用冒泡法對(duì)數(shù)組進(jìn)行排序(從大到小)<%(x<1)2x-l(l<x<10)輸入x輸出y。3x-ll(x>10)9、編寫一個(gè)程序,當(dāng)用戶輸入年份和月份,電腦會(huì)自動(dòng)輸出當(dāng)月天數(shù)。10、求一個(gè)3X3矩陣對(duì)角線元素之和。11、用選擇法對(duì)10個(gè)整數(shù)排序12、有一個(gè)3X4的矩陣,要求編程求出其中值最大的那個(gè)元素,以及其所在的行號(hào)和列號(hào)。13、求矩陣A(2X3)的轉(zhuǎn)置矩陣B(3X2)。pl23-] 「14-]A=| |B=|25|1-456」 1-36」矩陣轉(zhuǎn)置算法:在原來矩陣A中的元素應(yīng)是轉(zhuǎn)置后矩陣B中的元素14、用二分法求下面方程在(T0,10)之間的根。2x3-4x2+3x-6=015、求分?jǐn)?shù)序列前20項(xiàng)和。2/1+3/2+5/3+8/5+13/8+21/13+ 16、給出一個(gè)百分制成績(jī),要求輸出成績(jī)等級(jí)ABCADE,90分以上為A,80—89分為B,70—79分為C,60—69分為D,60分以下為E。17、求Fibonacci數(shù)列40個(gè)數(shù)。18、求一元二次方程的根。上機(jī)指導(dǎo)測(cè)試篇參考答案習(xí)題1一.選擇題2.D3.C4.ABCD5.D6.B7.A 8.C9.A10.A15.無(wú)正確答案2O.D15.無(wú)正確答案2O.D17.AD18.C19.A二.填空題.81610 2.-327 3.K=11,K=13,K=B 4.55.20 6.207.1.08.19.110.1.###B=2 12.1 B.re'hi'you14.0 15.3 16.1.0 17.x+=l 18.abx(x)>5 19.y%2==l20.###a=26,b=13,c=2021.Double22.323.124.0 25.6,626.10,227.0,0,40.029.666.06.0 30.2,1上機(jī)指導(dǎo)測(cè)試篇參考答案習(xí)題2一.選擇題.D2.D3.C4.D5.A6.B7.C8.C9.B10.D.C12.B13.B14.A15.D16.D17.A18.B20.B二.填空題1.邏輯上的一條語(yǔ)句;2.v左邊右邊3.%% 4.普通字符格式字符5.取地址、按位與a的地址6.輸出一個(gè)字符7.{}8.無(wú)條件轉(zhuǎn)移條件轉(zhuǎn)移9.輸入一個(gè)字符 10.表達(dá)式1;While(表達(dá)式2)表達(dá)式3)_字母數(shù)字答案習(xí)題3—.選擇題.A 2.C3.B4.A5.C6.D7.A 8.A9.B 10.B11.D12.D 13.B 14.A 15.A.C 17.D18.A19.D20.A21.D22.C23.C 24.B25.B26.C 27.D 28.B 29.D30.B二.填空題1.12.5,0,3 3.Yes4.132 5.6 6.587.0 8.59.5210.892111.passwam12.a=2,b=l 13.3,2,-114.815.-4 16.317.218.k=4,s=6 19.2#18#1.high=mid-13.5,254.78911.x=2y=3x=4y=9x=2y=318. 1219.first:14,4,12second:26,4,12lhird:26,3,620.11.high=mid-13.5,254.78911.x=2y=3x=4y=9x=2y=318. 1219.first:14,4,12second:26,4,12lhird:26,3,620.15621.10,20,40,40FUNC:x=6y=21n=ll22.25.27.2*i+la(j)a(j)A+B=912326.8x=lMAIN:x=5y=ln=ly=lx=ly=2x=ly=31#3#21#1173# 21i<10j%3!=0 22.j<if=f*j23.k%3=0llk%7==0No\n(n!=0)scanf("%d”,&n); 25.i/10%10a*a*a+b*b*b+c*c*c==I26.1.0*flag/kflag=-flag27.9i28.x>=029.a+=i;if(i!=0)b=i-l;elseb=0;30.m%nr!=0m%n上機(jī)指導(dǎo)測(cè)試篇參考答案習(xí)題4一.選擇題1.D2.B3.A4.D5.B6.C7.D 8.B9.A10.A二.填空題low=mid+12.02468101211618 024681012116185.-125=5*5*56.Ill7.(int)(value+0.5)val=ponse8.10109.j=1;y>O;y— 10.y>x&&y>zj%x1==0&&j%x2==0&&j%x3==0z=0 12.s=0,t=l,n=l 13.13 14.5109 15.6z=5 16.s[i]=ksum=017.p++ a[i]=a[i+l]z=0形式參數(shù)是普通變量時(shí),實(shí)參和形參之間是單向傳值上機(jī)指導(dǎo)測(cè)試篇參考答案習(xí)題6一.選擇題l.DDD4.C5.C6.D7.D8.D9.C10.Bll.D12.D13.C14.B15.D16.C17.A18.B19.A20.B21.D22.B23.A24.C25.C26.1627.D28.B29.D30.D二.1.填空題582.137153.1230560094.j<i或jvN/2a[i]U]=aU][i]5.abc6.8527.065020s[i++]或s[i];i++;10.30EFGHIJKLyou&me13.a=1234b=514.Hello15.16 16.10010上機(jī)指導(dǎo)測(cè)試篇參考答案習(xí)題7選擇題1.A2.A3.C4.B5.B16.x+i++或&x[i++] 17.C6.C7.C8.A9.B10.Dll.D12.B13.B14.C15.B18.C19.D20.A21.A22.Al.DDD4.C5.C6.D7.D8.D9.C10.Bll.D12.D13.C14.B15.D16.C17.A18.B19.A20.B21.D22.B23.A24.C25.C26.1627.D28.B29.D30.D二.1.填空題582.137153.1230560094.j<i或jvN/2a[i]U]=aU][i]5.abc6.8527.065020s[i++]或s[i];i++;10.30EFGHIJKLyou&me13.a=1234b=514.Hello15.16 16.10010上機(jī)指導(dǎo)測(cè)試篇參考答案習(xí)題7選擇題1.A2.A3.C4.B5.B16.x+i++或&x[i++] 17.C6.C7.C8.A9.B10.Dll.D12.B13.B14.C15.B18.C19.D20.A21.A22.A23.C 24.A25.C26.C27.A28.B29.D30.B31.A32.B33.B34.A35.A36.C37.D38.D39.D40.D41.A42.B43.D44.D45.C46.B47.A48.C二.填空題1.0120560092.Cdeab3.1234564.585. s[i]<,0,IIs[i]>,9,或者!(s用>='0'&&ls[i]<=,9,)'\0' 6.Findbig7.void(*p)()8.0 9.1010.p=jLineMax(x) 11.0 7 12.i*(a+9-i) 13. 9876876 14.415.efgh16.abc17.718.rowafrow][colum]19.AO*i20.53 21.k*k22.max<alrow][col]min>max23.*t*s-*t 24#2#4#6#825.1234526.*(a+i)+j 5*i+j5*i+j 27."BASIC”的首地址28.具有4個(gè)元素的整型一維數(shù)組29.030.531.ef32.233.12 12 34.4 35.s[i]=t[i]s[i]2009年樣題 一、選擇題(每小題1分,共10分)得分說明:請(qǐng)將你認(rèn)為各小題最恰當(dāng)?shù)恼_答案的編號(hào)填寫在下表中(閱卷以下表為準(zhǔn))。題號(hào)123456789 K)編號(hào)1.有如下程序:main(){intn=9;while(n>6){n-:printf("*d”,n);))該程序的輸出結(jié)果是【 】.A.987 B.8765 C.876 D.98762.有如下程序:main(){intx=l,a=0,b=0;switch(x){case0:b++;
a++;a++;b++;printf(*a=%d,b=%d\n*,a,b);)該程序的輸出結(jié)果是【 】。A.a=2,b=l B.a=l,b=l3.有如下程序:main(){floatx=2.0,y;if(x<0.0)y=0.0;C.a=l,b=0D.a=2,b=2elseif(x<10.0)y=l.0/x;elsey=l.0;printfC%f\n\y);j該程序的輸出結(jié)果是【 】。A.0.000000 B.0.250000C.0.500000D.1.0000004.有如下程序:intadd(inta,intb){return(a+b);)main(){intx=3,y=6,z=9,r;r=add(add(x,y),z);printf("%d\n",r);該程序的輸出結(jié)果是【 】。A.15 B.165.有如下程序段:int*p,a=13,b=2;p=&a;a=*p+b;執(zhí)行該程序段后,a的值是【]。C.17D.18A.16 B.156.有如下程序:longfib(intn){if(n<2)return(1);elsereturn(fib(n-l)+fib(n-2));C.14D.編譯出錯(cuò)main(){printf(*%ld\n\fib(3));)該程序的輸出結(jié)果是【 】oA.2B.3 C.4 D.6.有如下程序:^defineN2#defineMN+l#defineNUM2*M+1main()inti;for(i=l;i<=NUM;i++)printf('d\n”,i);)該程序中的for循環(huán)執(zhí)行的次數(shù)是【 】.A.5B.6 C.7 D.8.有如下程序段:inta=14,b=15,x;charc='A';x=(a&&b)&&(c<B);執(zhí)行該程序段后,x的值為【A.true B.false C.0 D.1.若有如下定義:inta[10]={l,2,3,4,5,6,7,8,9,10},*p=a;則數(shù)值為9的表達(dá)式是【 】。A.*p+9 B.*p+=9 C.*(p+8) D.p+8.有如下程序:main(){intn[5]={3,3,3},i,k=2;for(i=0;i<k;i++)n[i]=n[i]+l;printf("%d\n",n[k]);)該程序的輸出結(jié)果是【 】.A.3B.5C.4D.不確定的值 二、閱讀程序,寫出運(yùn)行結(jié)果(每小題3分,共18分)得分說明:請(qǐng)將答案填寫在下表中(閱卷以下表為準(zhǔn))。題號(hào)輸出結(jié)果題號(hào)輸出結(jié)果題號(hào)輸出結(jié)果1234561.以下程序的輸出結(jié)果是【 】。#include<stdio.h>main(){int1,j,k;i=12;j=20;k=i+j;printf(nk=i+j=%d\nnk);)2.以下程序的輸出結(jié)果是【 】o?include<stdio.h>main(){floatx,y=9.5;x=-12.34;if(x>0)y=l;TOC\o"1-5"\h\zif(x=0) y=0;if(x<0) y=-l;printf(nx=%f\ny=%fx,y);}一.以下程序的輸出結(jié)果是【 】。?include<stdio.h>intfun(intx){intp;if(x==0||x==l)return(3);p=x*fun(x-2);returnp;}main(){printf(n%d\nH,fun(7));).以下程序的輸出結(jié)果是【 】。#include<stdio.h>main()char*p[]={“POOL“,“opk“,“he”,”SP“};inti;for(i=3;i>=0;i-->printf(M%cnz*p[i]);printf(n\nM);).以下程序的輸出結(jié)果是【 】。?include<stdio.h>inty=5;voidsub(intx){inty=1;y+=x++;printf(nsub:y=%d\nuzy);)main()<intx=3;sub(x);y+=x++;printf(Hmain:y=%d\nMzy);).以下程序的輸出結(jié)果是【 】。?include<stdio.h>main(){inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=O;for(i=l;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf(n%d\nM,s);} 三、填空題(每空2分,共22分)得分1.以下函數(shù)返回a所指數(shù)組中最小值所在的下標(biāo)值,請(qǐng)?zhí)羁?。intfun(int★&,intn)(intirp;for(i=l;i<n;i++)if(a[i]<a[p]);return(p);)2.以下函數(shù)把b字符串連到a字符串的后面,并返回a中新字符串的長(zhǎng)度,請(qǐng)?zhí)羁?。intstrcen(chara[]rcharb[]){intnum=Ozn=0;while(*(a+num)!=)num++;while(b[n]){*(a+num)=b[n];num++;)returnnum;}3.在磁盤的當(dāng)前目錄下有名為“l(fā)ut2009.txt”的文本文件,下面的程序是從文件中讀出其中的字符,并統(tǒng)計(jì)文件中字符的個(gè)數(shù),同時(shí)還要求統(tǒng)計(jì)出字母“m”或出現(xiàn)的次數(shù),請(qǐng)?zhí)羁铡?include<stdio.h>main(){charch;intnum=Ofcm=O;if((fp=fopen())==NULL)exit(1);elsewhile((ch=fgetc(fp))!=EOF)(num++;if()cm++;)printf(Mnum=%d\tcm=%d\nn,num,cm);}4.1面程序的功能是求1!+2!+3!+4!+5!,請(qǐng)?zhí)羁?。main(){inti,j,f,sum=0;for(i=l;i<=5;i++){f=l;for(j=l;;j++) rsum=sum+f;)printf("sum=%dnrsum);}5.下面程序的功能是計(jì)算一個(gè)3X3矩陣的主對(duì)角線的元素之和,請(qǐng)?zhí)羁铡ain(){intir;inta[3][3]={{-l,2,3},{6,7,-8},{9,11,20)};for(i=0;i<=2;i++)sum=;printf("%d\n",sum); 四、編程題(每小題10分,共50分)得分.請(qǐng)編寫一個(gè)完成輸入長(zhǎng)方形的長(zhǎng)和寬,計(jì)算并輸出該長(zhǎng)方形面積的程序。.請(qǐng)編寫一個(gè)實(shí)現(xiàn)符號(hào)函數(shù)的程序。TOC\o"1-5"\h\z' 1 x>0符號(hào)函數(shù)即:y=f(》= 0 x=0-1 x<0.請(qǐng)編寫一個(gè)輸出如下圖案的程序。****************耍求:必須用循環(huán)結(jié)構(gòu)實(shí)現(xiàn)。.請(qǐng)編寫子函數(shù)subfun(intx),返回1-2+3-4+…+99T00的值。.請(qǐng)編寫一個(gè)實(shí)現(xiàn)對(duì)數(shù)組a的10個(gè)數(shù){20,50,30,10,60,80,100,70,70,40)按從小到大排序的程序。參考答案和評(píng)分標(biāo)準(zhǔn)一、選擇題(每小題1分,共30分)題號(hào)12345678910編號(hào)cACDBBBDCA二、閱讀程序,寫出運(yùn)行結(jié)果(每小題3分,共27分)題號(hào)輸出結(jié)果題■;輸出結(jié)果題弓輸出結(jié)果1k=i+j=322x=0.000000y=9.50000033154ShoP5sub:y=4main:y=8618式填空題(每空2分,共30分)P=0;P=i'\0'或0n++或++n或n=n+l或n+=lFILE*fp"lut2009.txt","r"ch=='m'||ch==Mj<=if=f*jsum=0sum+a[i][i]四、編程題(每小題10分,共50分)評(píng)分標(biāo)準(zhǔn):結(jié)構(gòu)完整2分(主函數(shù)或子函數(shù));變量聲明恰當(dāng)、控制符對(duì)應(yīng)正確2分;輸入(或初始化)2分;加工處理(順序、選擇或循環(huán))2分;輸出(結(jié)果)2分參考程序:#include<stdio.h>main()floatx,y,z;printf("inputx,y:\n〃);scanf(z,%f,%f",&x,&y);z=x*y;printf(*z=%10.2f\n*,z);getchO;}^include<stdio.h>main(){floatx,y;printf("inputx:\n");scanf&x);if(x>0)y=l;if(x==0)y=0;if(x<0)y=-l;printf("x=%
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度企業(yè)研發(fā)成果知識(shí)產(chǎn)權(quán)轉(zhuǎn)讓合同范本
- 2025年度醫(yī)療設(shè)備改造與售后服務(wù)協(xié)議
- 2025年度出租車公司車輛租賃合同修訂版
- 2025抖音主播品牌代言合作框架協(xié)議書
- 2025年C301-I型低壓甲醇合成催化劑合作協(xié)議書
- 2025年度咖啡廳店鋪轉(zhuǎn)讓合同范本
- 2025年創(chuàng)客中心項(xiàng)目發(fā)展計(jì)劃
- 科研部研究項(xiàng)目進(jìn)展與未來規(guī)劃計(jì)劃
- 教學(xué)資源的有效整合與利用計(jì)劃
- 度假村行業(yè)保安工作總結(jié)計(jì)劃
- 2024年濰坊護(hù)理職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)附答案
- 《鉗工基本知識(shí)》課件
- 第八期:風(fēng)電典型事故案例剖析(二)
- 2020-2024年五年高考地理真題分類匯編專題02(地球運(yùn)動(dòng))+解析版
- 水文與水資源勘測(cè)基礎(chǔ)知識(shí)單選題100道及答案解析
- 2025年中國(guó)工程建設(shè)行業(yè)現(xiàn)狀、發(fā)展環(huán)境及投資前景分析報(bào)告
- 《海瀾之家公司績(jī)效管理現(xiàn)狀、問題及優(yōu)化對(duì)策(7600字論文)》
- DB1509T 0025-2024 肉牛舍設(shè)計(jì)與建筑技術(shù)規(guī)范
- 上海室內(nèi)裝飾施工合同示范文本2024年
- 2024年山東日照初中學(xué)業(yè)水平考試地理卷試題真題(精校打印版)
- 房地產(chǎn) -中建科工五大類型項(xiàng)目成本指標(biāo)庫(kù)
評(píng)論
0/150
提交評(píng)論