大學計算機C語言程序設計(程序填空)_第1頁
大學計算機C語言程序設計(程序填空)_第2頁
大學計算機C語言程序設計(程序填空)_第3頁
大學計算機C語言程序設計(程序填空)_第4頁
大學計算機C語言程序設計(程序填空)_第5頁
已閱讀5頁,還剩116頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

一、程序填空共129題第1題題號:426/* 【程序填空】功能:百馬百擔問題:有100匹馬,馱100擔貨,大馬馱三擔,中馬馱2擔,兩匹小馬馱一擔,求大、中、小馬各多少匹? */??include<stdio.h>main()inthb,hm,hl,n=0;/***********SPACE***********/for(hb=O;hb<=100;hb+=[?])/***********SPACE***********/for(hm=0;hm<=100-hb;hm+=[?])/***********space***********/hl=100-hb-[?];/***********space***********/if(hb/3+hm/2+2*[?]=100){n++:printf("hb=%d,hm=%d,hl=%d\n”,hb/3,hm/2,2*hl);))printf("n=%d\n”,n);)答案:.3.2.hm.hl第2題題號:15/* 【程序填空】功能:分別求出一批非零整數(shù)中的偶數(shù)、奇數(shù)的平均值,用零作為終止標記。 */^include<stdio.h>main()(intx,i=0,j=0;floatsl=0,s2=0,avl,av2;scanf&x);/***********space***********/while([?])(if(x%2==0)(sl=sl+x;i++:}/***********space***********/[?]{s2=s2+x:j++;)/***********SPACE***********/[?];)if(i!=0)avl=sl/i;elseavl=0;if(j!=O)/***********SPACE***********/[?];elseav2=0;printf(*oushujunzhi:%7.2f,jishujunzhi:%7.2f\n”,avl,av2);}答案:.x!=0或x.else或elseif(x%2=l)或elseif(x%2!=0)或if(x%2).scanf&x).av2=s2/j第3題題號:468/*—【程序填空】功能:對一數(shù)組進行逐步累加求和,prefix代表從前向后累加值,suffix代表從后向前累加值,問在此過程中prefix與suffix有幾次值相同? */??include<stdio.h>intheadtail(intx[],intn){intprefix =0,suffix =0;intprefix_idx=0,suffix_idx=n-l;intcount=0;while(suffix_idx>=0&&prefix_idx<=n-l)/***********SPACE***********/if((?))prefix+=x[prefix_idx++];elseif(prefix>suffix)/***********space***********/suffix+=x[[?]];else{/***********space***********/[?];prefix+=x[prefix_idx++];suffix+=x[suffix_idx-];)returncount;}^include<stdio.h>voidmain(void)(intx[]={3,6,2,1,4,5,2};intn=sizeof(x)/sizeof(int);inti;printf(*\nHeadSum==TailSumCountingProgram*);printf(*\n===================================\n*);printf(*\nGivenArrayfor(i=0;i<n;i++)printf("%5d”,x[i]);printf(*\n\nThereare%dequalPrefix-Suffixsumpairs.headtail(x,n));)答案:.prefix<suffix或suffix>prefix.suffixidx-或suffixidx=suffixidx-1或一suffixidx.count++或count=count+l第4題題號:452/* ——【程序填空】功能:從鍵盤輸入若干行字符,輸入后把他們存儲到一磁盤文件中。在從該文件中讀出這些數(shù)據(jù),將其中的小寫字母轉(zhuǎn)換成大寫字母后在屏幕上輸出。 */#include<stdio.h>^include<stdlib.h>#defineN100main()(FILE*fp;charc,*p,s[N][20];inti,n;printf("n=");scanf(飛d”,&n);/***********SPACE***********/if(n<l[?]n>N)exit(O);printf(*input%dstring:\n',n);for(i=0;i<n;i++)scanfs[i]);/***********SPACE***********/fp二fopen("text",[?]);for(i=0;i<n;i++){P=s[i];while(*p!=,\0f)/***********space***********/if(!ferror(fp))fputc([?],fp);fclose(fp);printf('\n");/***********SPACE***********/fp二fopen("text",[?]);while((c=fgetc(fp))!=E0F)(if(c>>a*&&c<=,z)c=+32;putchar(c);}printf('\n");fclose(fp);}答案:.II.7.*p++."r"第5題題號:423/* 【程序填空】功能:考查字符串數(shù)組的應用。輸出26個英文字母。 */#include<stdio.h>voidmain(void){charstring[256];inti;/***********space***********/for(i=0;i<26;[?])/***********SPACE***********/stringti]=[?];string[i]二,\0,;/***********SPACE***********/printf("thearrarycontains%s\n",[?]);)答案:.i++或++i或i=i+l或i+=l.'A'+i或i+'A'或65+i或i+65.string第6題題號:481/* 【程序填空】功能:一個自然數(shù)被8除余1,所得的商被8除也余1,再將第二次的商被8除后余7,最后得到一個商為a。又知這個自然數(shù)被17除余4,所得的商被17除余15,最后得到一個商是a的2倍。編寫程序求這個自然數(shù)。 */#include<stdio.h>main(){inti,n,a;i=0;while(1)(if(i%8==l)|n=i/8;if(n%8=l){n=n/8;/***********SPACE***********/if(n%8==7)[?];})if(i%17==4){n=i/17;if(n%17=15)n=n/17;)if(2*a==n)(printf("result或d\n”,i);/***********space***********/[?];)/***********SPACE***********/[?]:)}答案:.a=n/8.break.i++或++i或i=i+l第7題題號:450【程序填空】功能:一個40磅重的板碎成4塊,每塊正好是一個整數(shù)磅,且用這4塊當祛碼能稱出廠40磅的整數(shù)重量的物體。編程求這4塊的各自重量。 */#include<stdio.h>#include<stdlib.h>main()(inti,j,k,1,p,tl,t2,t3,t4;for(i=l;i<38;i++)/***********SPACE***********/for([?];j<38-i;j++)/***********SPACE***********/for(k=j;k<[?];k++){l=40-i-j-k;for(p=l;p<40;p++){for(tl=-l;tl<2;tl++)for(t2=-l;t2<2;t2++)for(t3=-l;t3<2;t3++)for(t4=-l;t4<2;t4++)/***********space***********/if([?]==p)gotonext;break;/***********SPACE***********/next:if(p==[?])printf("%d,%d,%d,刎\n”,i,j,k,1);exit(0);)))printf("error.");}答案:.j=i.39-i-j或39-i-j.i*tl+j*t2+k*t3+l*t4或i*tl+j*t2+k*t3+l*t4.39第8題題號:428/* 【程序填空】功能:輸入一個學生的生日(年:y。、月:m0、R:d0),并輸入當前日期(年:yl、月:ml、□:dl)o求出該學生的年齡(實足年齡)。 */^include<stdio.h>main(){intage,yO,yl,mO,ml,dO,dl;printfC輸入生日日期(年,月,日)");/***********space***********/[?](*%d,%d,%d*.&y0,&m0,&d0):printf("輸入當前日期(年,月,日)”);scanfC%d,%d,%d”,&yl,&ml,&dl);age=yl-yO;/***********space***********/if(mO[?]ml)age—;/***********space***********/if((mO[?]ml)&&(dO>dl))age-;printf("age=%3d”,age);}答案:.scanf.>.=第9題題號:466/* 【程序填空】功能:用二分法求方程2X.3+4X~2+3X-6=0在(-10,10)之間的根,其中X'n代表X的n次方。 */??include<stdio.h>#include<math.h>main()(floatxO,xl,x2,fxO,fxl,fx2;do{printf(*Enterxl&x2:");scanfC%f,%f”,&xl,&x2);fx1=x1*((2*x1-4)*x1+3)-6;fx2=x2*((2*x2-4)*x2+3)-6;/***********SPACE***********/}while(fxl*fx2[?]);do{x0=(xl+x2)/2;fx0=x0*((2*x0-4)*x0+3)-6;/***********SPACE***********/if(fxO*fxl[?])(x2=x0;fx2=fx0;)else(xl=x0;fxl=fx0;)}/***********SPACE***********/while([?)>=le-5);printf("x=%6.2f\n",xO);答案:.>0.<0.fabs(fxO)第10題題號:614【程序填空】題目:以下程序的功能是:輸出a、b,c三個變量中的最小值。 */#include<stdio.h>main()(inta,b,c,tl,t2;/***********space***********/scanf(線d%d%d",&a,&b,[?]):tl=a<b?a:b;/***********SPACE***********/t2=c<tl?[?];printf("%d\n",t2);)答案:.&c.c:tl第11題題號:443/* 【程序填空】功能:企業(yè)發(fā)放的獎金根據(jù)利潤提成。利潤(i)低于或等于10萬元時,獎金可提10%;利潤高于10萬元,低于20萬元時,低于10萬元的部分按10%提成,高于10萬元的部分,可可提成7.5%;20萬到40萬之間時,高于20萬元的部分,可提成5機40萬到60萬之間時高于40萬元的部分,可提成3%;60萬到100萬之間時,高于60萬元的部分,可提成1.5%,高于100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤i,求應發(fā)放獎金總數(shù)? */#include<stdio.h>main()(longinti;doublebonus1,bonus2,bonus4,bonus6,bonuslO,bonus;scanf&i);bonusl=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;/***********SPACE***********/elseif([?])bonus=bonusl+(i-100000)*0.075;/***********SPACE***********/elseif([?])bonus=bonus2+(i-200000)*0.05;/***********SPACE***********/elseif([?])bonus=bonus4+(i-400000)*0.03;elseif(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonusl0+(i-1000000)*0.01;/***********SPACE***********/[?]("bonus=%d",bonus);)答案:.i<=200000或200000>=i.i<=600000或600000>=i.i<=1000000或1000000>=i.printf第12題題號:442/* 【程序填空】功能:將長整型數(shù)中每一位上為奇數(shù)的數(shù)依次取出,構成一個新數(shù)放在t中。高位仍在高位,低位仍在低位。_*/#include<conio.h>^include<stdio.h>voidfun(longs,long*t)intd;longsi=1;/***********space***********/[?]=0;while(s>0){/***********SPACE***********/d=[?];if(d%2)/***********space***********/*t=[?]+*t;/***********SPACE***********/si[?]10;)/=10;mainO{longs,t;printf(*\nPleaseenters:");scanf&s);fun(s,&t);printfC/Theresultis:%ld\n”,t);}答案:.*t.s%10.d*si或si*d.*=或=s*第13題題號:408【程序填空】功能:輸入兩個整數(shù),求他們的按位與。 */#include<stdio.h>voidmain()(intx,y,z=0,a,b,k=l;scanf("%d,%d”,&x,&y);while(x>0&&y>0)(a=x%2;/***********SPACE***********/x=[?];b=y%2;y=y/2;/***********SPACE***********/z=z+[?];k=k*2;)/***********space***********/[?](*z=%d\n*,z);}答案:.x/2.a*b*k或a*b*k.printf第14題題號:20【程序填空】功能:求兩個非負整數(shù)的最大公約數(shù)和最小公倍數(shù)。 */#include<stdio.h>main()intm,n,r,p,gcd,1cm;scanf &m,&n);if(m<n){p=m,m=n;n=p;}p=m*n;r=m%n;/***********SPACE***********/while([?])(/***********SPACE***********/m=n;n=r:[?];)/***********SPACE***********/gcd=[?];lcm=p/gcd;/***********SPACE***********/printf(*gcd=%d,lcm=%d\n*,[?]);}答案:.r!=0或r.r=m%n或r=m-m/n*n.n.gcd,1cm或n,1cm第15題題號:445/* 【程序填空】功能:編程求任意給定的n個數(shù)中的奇數(shù)的連乘積,偶數(shù)的平方和以及0的個數(shù),n通過scanfO函數(shù)輸入。 */^include<stdio.h>main(){intr=l,s=0,t=0,n,a,i;printf("n=");scanf &n);for(i=l;i<=n;i++)(printf(*a=*);/***********SPACE***********/scanf[?]);/***********SPACE***********/if([?]!=0)/***********SPACE***********/[?]=a;elseif(a!=0)/***********space***********/s+=[?];elset++;)printf("r=%d,s=%d,t=%d\n”,r,s,t);}答案:.&a.a%2.r*.a*a第16題題號:13/* 【程序填空】功能:產(chǎn)生并輸出楊輝三角的前七行。11112113311464115101051161520156 */#include<stdio.h>main()(inta[7][7];inti,j;for(i=0;i<7;i++)(a[i][0]=l;/***********SPACE***********/[?];for(i=2;i<7;i++)/***********space***********/for(j=l;j<[?];j++)/***********SPACE***********/a⑴[j]=[?];for(i=0;i<7;i++)(/***********SPACE***********/for(j=0;[?];j++)printf(*%6d*?a[i][j]);printf('\n");答案:.a[i][i]=l.i.a[i-l][j]+a[i-l][j-1]或a[iT][jT]+a[iT][j].j<=i或i>=j或j<i+l或i+l>j或jT<i或i>jT第17題題號:401【程序填空】功能:輸入某年某月某口,判斷這一天是這一年的笫幾天? */#include<stdio.h>main()(intday,month,year,sum,leap;printf(*\npleaseinputyear,month,day\n*);scanf(*%d,%d,%d”,ftyear,&month,&day);switch(month)(case1:sum=0;break;case2:sum=31;break;case3:sum=59;break;/***********SPACE***********/case4:[?];break;case5:sum=120;break;case6:sum=151;break;case7:sum=lSl;break;case8:sum=212;break;case9:sun)=243;break;case10:sum=273;break;case11:sum=:304;break;case12:sum=334;break;default:printf(*dataerror");break;)/***********space***********/[?);/***********space***********/if(year%400==0|I([?])leap=l;elseleap=0;/***********space***********/if([?1)sum++;printf(*itisthe%dthday.sum);}答案:.sum=90.sunpsum+day或sum=sum+day.year%4=0&&year%100!=0).leap==l&&.month>2或leap==1&&month>2或leap==1&&2<month第18題題號:437【程序填空】功能:建立一個如下的二維數(shù)組,并按以下格式輸出。1000101010001000101010001一*/#include<stdio.h>voidmain()inta[5][5]={0},*p[5],i,j;for(i=0;i<5;i++)/***********SPACE***********/p[i]=[?];for(i=0;i<5;i++)(/***********space***********/*([?]+i)=l;/***********space***********/?(p[i]+5-([?]))=1;}for(i=0;i<5;i++){for(j=0;j<5;j++)printf(*%2d*,p[i][j]);/***********SPACE***********/[?];}答案:.&a[i][0].p[i].i+1或1+i.putchar(*\n*)第19題題號:34【程序填空】功能:以下程序的功能如(圖1)。 */#include<conio.h>^include<stdio.h>/***********SPACE***********/doublefun([?],intn){/***********space***********/[?];doublexa=0,s;for(j=0;j<n;j++)xa+=x[j]/n;/***********space***********/[?];for(j=0;j<n;j++)s+=(x[j]-xa)*(x[j]-xa)/n;/***********SPACE***********/[?];}main(){doublex[100]={193.199,195.673,195,757,196.051,196.092,196,596,196.579,196.763};printf fun(x,8));)答案:.floatx[]或float*x或doublex[]或double*j.s=0或s=0.0.returns或return(s)第20題題號:435/* 【程序填空】功能:找出數(shù)組中最大值和此元素的下標,數(shù)組元素的值由鍵盤輸入。 */#include<stdio.h>voidmain(){inta[10],*p,*s,i;for(i=0;i<10;i++)/***********SPACE***********/scanf [?]);/***********SPACE***********/for(p=a,s=a;[?]<10;p++)/***********SPACE***********/if(*p(?)*s)s=p;/***********SPACE***********/printf(*max=%d,index=%d\n*,[?],s-a);)答案:.a+i或&a[i].p-a.>.功能:打印出如下圖案(菱形)**** */功能:打印出如下圖案(菱形)**** */#include<stdio.h>main()(inti,j,k;/***********SPACE***********/for(i=0;[?];i++){for(j=0;j<=4-i;j++)printf(*");/***********SPACE***********/for(k=l;k<=[?];k++)printf("*");printf('\n");)/***********space***********/for([?];j<3;j++){for(k=0:k<j+3:k++)printfC");for(k=0;k<5-2*j;k++)printf("*");printf("\n");第21題題號:398【程序填空】答案:.i<=3或i<4或3>=i或4>i.2功能:識別輸入的字符串,每個單詞輸出一行 */#include<stdio.h>#include<string.h>voidmain()(intc;功能:識別輸入的字符串,每個單詞輸出一行 */#include<stdio.h>#include<string.h>voidmain()(intc;intinspace;/***********space***********/[?);while((c=getchar())!='\n')(if(c==''||c=='\t'||c-'\n')(/***********$pace***********/if([?])inspace=1;putcharC\n');})else功能:已知X、Y、Z分別表示0~9中不同的數(shù)字,編程求出使算式XXXX+YYYY+ZZZZ=YXXXZ成立時X、Y、Z的值,并要求打印該算式。 */#include<stdio.h>#include<stdlib.h>main()(intx,y,z;/***********SPACE***********/for(x=0;[?];x++)for(y=0;y<10;y++)(if(y==x)continue;for(z=0;z<10;z++){/***********space***********/if(z==x[?]z==y)continue;/***********SPACE***********/if(llll*(x+y+z)=[?]+1110*x+z)(printf(*x=%d,y=%d,z=%d\n”,x,y,z);/***********SPACE***********/printf(*%d+%d+%d=%d\n*,Ull*x,llll*y,llll*z,[?]);exit(0);功能:1982年我國第三次人口普杳,結果全國人口為10.3億,假如人口增長率為5%。編寫一個程序求在公元多少年總?cè)丝诜艘环?*/#include<stdio.h>voidmain()(doublepl=10.3,p2,r=0.05;intn=l;/***********SPACE***********/p2=pl*[?];/***********SPACE***********/while(p2<=[?]){n++;/***********SPACE***********/p2=p2*[?];)/***********SPACE***********/n=【?】;printf(*%d年人口總數(shù)翻了一番,即為%g億人\n”,n,p2);}答案:1).(1+r)或(r+1)2).2*pl或pl*23).(1+r)或(r+1)4).n+1982或1982+n.j=0第22題題號:410【程序填空】/***********space***********/move([?]);for(i=0;i<n-l;i++)printf(*%d,number[i]);printfnumber[n-l]);)答案:.array,n,m.array+n-1或array+n-1.p-1或pT.number,n,m第23題題號:484/? 【程序填空】inspace=0;/***********SPACE***********/[?]:))答案:.inspace=0.inspace=0.putchar(c)第24題題號:448/* 【程序填空】答案:.x<10或10>x.II.10000*y或y*10000.10000*y+1110*x+z或10000*y+1110*x+z第25題題號:439/* 【程序填空】第26題題號:421/* 【程序填空】功能:輸入學生成績并顯示。 */#include<stdio.h>structstudent{charnumber[6];charname[6];intscore[3];}stu[2];voidoutput(structstudentstu[2]);voidmain()(inti,j;/***********SPACE***********/for(i=0;i<2;[?]){printf("請輸入學生%(1的成績:\n”,i+1);printf("學號:");/***********SPACE***********/scanf[?].number);printf("姓名:”);scanfstu[i].name);for(j=0;j<3;j++){printf("成績%d.”,j+1);/***********SPACE***********/scanf[?].score[j]);)printf('\n");output(stu);voidoutput(structstudentstu[2])inti,j;printf(〃學號姓名成績1成績2成績3\n〃);for(i=0;i<2;i++){/***********space***********/[?]("%-6s%-6s”,stu[i].number,stu[i].name);for(j=0;j<3;j++)printf(*%-8d*,stu[i].score[j]);printf(*\n");答案:.i++或++i或i=i+l.&stu[i].&stu[i].printf第27題題號:478【程序填空】功能:如果整數(shù)A的全部因子(包括1,不包括A本身)之和等于B;且整數(shù)B的全部因子(包括1,不包括B本身)之和等于A,則將整數(shù)A和B稱為親密數(shù)。求3000以內(nèi)的全部親密數(shù)。 */^include<stdio.h>#include<stdio.h>main(){inta,i,b,n;printf("Friendly-numberspairsamllerthan3000:\n*);for(a=l;a<3000;a++)(for(b=0,i=l;i<=a/2;i++)/***********SPACE***********/if(!(a%i))[?];for(n=0,i=l;i<=b/2;i++)/***********SPACE***********/if(!(b%i))[?];/***********SPACE***********/if([?]&&a<b)printf("%4d'%4d\n”,a,b);))答案:.b+=i或b=b+i.n+=i或n=n+i.n=a第28題題號:470/? 【程序填空】功能:從兩個數(shù)組中分別提取任意元素Mlx[i]-y[j]|的最小值是多少? */#include<stdio.h>#include〈limits.h>/***********SPACE***********/^definemin(x,y)([?!)intmin_distance(intx口,inty[],intm,intn){intminimum=INT_MAX;intindex_x=0,index_y=0;while(index_x<m&&index_y<n)/***********space***********/if([?])(minimum=min(minimum,x[index_x]-y[index_y]);index_y++;)else{minimum=min(minimum,y[indexy]-x[index_x]);/***********SPACE***********/【?】;returnminimum;#include<stdio.h>voidmain(void)(intx[]={1,3,7,11,18);intm =sizeof(x)/sizeof(int);inty[]={4,5,8,13,22};intn =sizeof(y)/sizeof(int);inti,min_distance(int[],int[],int,int);printf(*\nComputeMinimumDistanceBetweenTwoSortedArrays*);printfC\n======================================*);printf(*\n\nGivenArray#1for(i=0;i<m;i++)printf(*%5d*,x[i]);printf(*\n\nGivenArray#2 ;for(i=0;i<n;i++)printfy[i]);printf(,z\n\nMinimumDistance=%d”,mindistance(x,y,m,n));)答案:.x<y?x:y或y>x?x:y.x[indexx]>=y[indexy]或y[indexy]<=x[indexx].index_x++或index_x=index_x+1或++index_x第29題題號:29/* 【程序填空】功能:卜面函數(shù)為二分法查找key值。數(shù)組中元素已遞增排序,若找到key則返回對應的下標,否則返回 */#include<stdio.h>fun(inta[],intn,intkey)(intlow,high,mid;low=0;high=n-l;/***********SPACE***********/while([?])(mid=(low+high)/2;if(key<a[mid])/***********SPACE***********/[?];elseif(key>a[mid])/***********SPACE***********/[?];else/***********SPACE***********/[?];}return-1;}main()(inta[10]={l,2,3,4,5,6,7,8,9,10};intb,c;b=4;c=fun(a,10,b);if(c==l)printf(*notfound");elseprintf("position%d\n',c);)答案:.low<=high或high>=low.high=mid-l.low=mid+1.returnmid或return(mid)第30題題號:444/* 【程序填空】功能:用指向指針的指針的方法對n個字符串排序并輸出。*/^include<stdio.h>#include"string,h”^include<stdlib.h>#defineN100voidsort();main()(inti,n;char**p,*str[N],name[N][20];printf("n=");scanf&n);/***********SPACE***********/if(n<2[?]n>N)exit(0);for(i=0;i<n;i++)str[i]=name[i];printf(*input%dstrings:\n*,n);for(i=0;i<n;i++)(printf("name[%d]=",i);/***********SPACE***********/scanf[?]);)printf(*Stringarry:\n");for(i=0;i<n;i++)(p=str+i;printf(*%s\n*,*p);}p=str;sort(p,n);printf("Stringsort:\n*);for(i=0;i<n;i++)(p=str+i;printf("%s\n",*p);}}/***********SPACE***********/voidsort(char[?],intn)(inti,j;char*s;for(i=0;i<n-l;i++)for(j=i+l;j<n;j++)if(stremp(p[i],p[j])>0)s=p[i];/***********SPACE***********/[?];p[j]=s;)}答案:.II.str[i].**p.p[i]=p[j]第31題題號:17/* 【程序填空】功能:刪除字符串中的指定字符,字符串和要刪除的字符均由鍵盤輸入。 */#include<stdio.h>main()(charstr[80],ch;inti,k=0;/***********SPACE***********/gets([?]);ch=getchar();/***********SPACE***********/for(i=0;[?];i++)if(str[i]!=ch)(/***********SPACE***********/[?];k++;)/***********space***********/[?];puts(str);答案:.str.str[i]!=,\0>或str[i]!=NULL或str[i]!=0或str[i].str[k]=str[i]或*(str+k)=*(str+i)或str[k]=*(str+i)或*(str+k)=str[i].str[k]=>\0*或*(str+k)=,\0>或str[k]=NULL或str[k]=O或?(str+k)=0或*(str+k)=NULL第32題題號:31/* 【程序填空】功能:用冒泡法對數(shù)組a進行由小到大的排序。 */^include<stdio.h>voidfun(inta[],intn){inti,j,t;/***********SPACE***********/for(j=0;[?];j++)/***********SPACE***********/for(i=0;[?];i++)/***********SPACE***********/if([?1){t=a[i];a[i]=a[i+l];a[i+l]=t;)}main()(inti,a[10]={3,7,5,1,2,8,6,4,10,9);/***********SPACE***********/[?];for(i=0;i<10;i++)printf(*%3d*,a[i]);}答案:.j<=n-l或n-l>=j或j<=-l+n或T+n>=j或j<n或n>j或j<n-l.i<n-j-l或n-j-l>i或i<n-l-j或n-l-j>i或i<=n-j-2或i<=n-2-j.a[i]>a[i+1]或a[i+1]<a[i].fun(a,10)第33題題號:23卜* 【程序填空】功能:求一個二維數(shù)組中每行的最大值和每行的和。 */??include<stdio.h>main(){inta[5][5],b[5],c[5],i,j,k,s=0:for(i=0;i<5;i++)for(j=0:j<5;j++)a[i][j]=random(40)+20;for(i=0;i<5;i++)(/***********space***********/k=a[i][0];[?];for(j=0;j<5;j++)|/***********space***********/if(k<a[i][j])[?];s=s+a[i][j];)b[i]=k;/***********space***********/[?];}for(i=0;i<5:i++){for(j=0:j<5:j++)/***********SPACE***********/printf(*%5d*,[?]);printf(*%5d%5d*?b[i],c[i]);printf(〃\n");答案:.s=0.k=a⑴[j].c[i]=s.a[i][j]第34題題號:409/* 【程序填空】功能:輸入數(shù)組,最大的與第一個元素交換,最小的與最后一個元素交換,輸出數(shù)組。 */^include<stdio.h>input(number)intnumber[10];{inti;/***********SPACE***********/for(i=0;i<9;[?])scanf(*%d,",&number[i]);scanf&number[9]);)/***********space***********/maxmin([?])intarray[10];{int*max,*min,k,1;int*p,*arr_end;/***********SPACE***********/arr_end=[?];max=min=array;for(p=array+l;p<arr_end;p++)if(*p>*max)max=p;/***********SPACE***********/elseif([?])min=p;k=*max;1二*min;*p=array[0];array[0]=1;l=*p;*p=array[9];array[9]=k;k=*p;output(array)intarray[10];(int*p;for(p=array;p<array+9;p++)printfC%d,*,*p);printf("%d\n",array[9]);)main()(intnumber[10];input(number);max_min(number);output(number);}答案:.i++或i=i+l或++i.array.array+10或10+array.*p<*min或*min>*p第35題題號:417/* 【程序填空】功能:利用全局變量計算長方體的體積及三個面的面積。 */^include<stdio.h>intsi,s2,s3;intvs(inta,intb,intc)(intv;/***********SPACE***********/V=[?];sl=a*b;/***********SPACE***********/s2=[?];s3=a*c;returnv;main()intv,1,w,h;printf(^Xninputlength,widthandheight:");/***********SPACE***********/scanf("%d%d%d”,【?】,&w,&h);/***********SPACE***********/v=[?];printf("v=%d sl=%ds2=%d s3=%d\n”,v,si,s2,s3);}答案:.a*b*c或a*b*c.b*c或b*c.&1.vs(l,w,h)或vs(1,w,h)第36題題號:461/* 【程序填空】功能:從鍵盤輸入一個字符串,將小寫字母全部轉(zhuǎn)換成大寫字母,然后輸出到一個磁盤文件“test”中保存。輸入的字符串以!結束。 */#include<stdio.h>#include<stdlib.h>#include<string.h>main()(FILE*fp;charstr[100];inti=0;if((fp=fopen(*test*,*w*))=NULL)(printf(^cannotopenthefile\n");exit(0);printf(*pleaseinputastring:\n*);gets(str);/***********SPACE***********/while([?])(if(str[i]>=,a&&str[i]<=,z')/***********SPACE***********/【?】;fputc(str[i],fp);i++;}fclose(fp);/***********SPACE***********/fp=fopen(*test*,[?]);fgets(str,strlen(str)+l,fp);printf(*%s\n*,str);fclose(fp);}答案:.str[i]!=’!'.str[i]=str[i]-32或str[i]=str[i]-32.r或wr或wr+第37題題號:19/* 【程序填空】功能:是將兩個字符串連接為一個字符串,不許使用庫函數(shù)strcat。 */#include<stdio.h>#include"string,h”J0IN(sl,s2)charsi[80],s2[40];(inti,j;/***********SPACE***********/[?];/***********SPACE***********/for(i=0;[?]'\0';i++)sl[i+j]=s2[i];/***********space***********/sl[i+j]=[?];main()(charstrl[80],str2[40];gets(strl);gets(str2);puts(strl);puts(str2);/***********SPACE***********/[?];puts(strl);}答案:.j=strlen(sl)或for(j=0;si[j]!=10*;j++);或for(j=0;sl[j];j++);.s2[i]!=或*(s2+i)!=.'\0'或NULL或0.J0IN(strl,str2)第38題題號:25/* 【程序填空】功能:以下程序的功能如(圖1)。 */^include<stdio.h>/***********SPACE***********/[?]main()(doublex,f;scanf("%f",&x);/***********SPACE***********/if(x<0)(?);/***********space***********/elseif([?])f=2*x+l;elsef=sin(x)+5;/***********space***********/printfCx=%f,y=%f\n\ [?]);答案:.#include"math,h"或^include<math.h>.f=fabs(x+1).x<=5或5>=x或x<6或6>x或x>=0&&x<=5或0<二x&&x<=5或x〉=0&&5>二x或0<=x&&5>=x或!(x>5).x,f第39題題號:405【程序填空】功能:要求輸出結果為:A,B65,66 */#include<stdio.h>voidmain(){/***********SPACE***********/chara,[?];/***********SPACE***********/a=[?];b='b';a=a—32;/***********space***********/b=b-[?];printf("%c,%c\n%d,%d\n”,a,b,a,b);}答案:.b.’a'或97.32第40題題號:432/* 【程序填空】功能:計算平均成績并統(tǒng)計90分以上人數(shù)。 */#include<stdio.h>main()(intn,m;floatgrade,average;average=0.0;/***********SPACE***********/n=m=[?];while(l)(/***********SPACE***********/【?】("%f",&gradc);if(grade<0)break;n++;average+=grade;/***********SPACE***********/if(grade<90)[?];m++;}if(n)printf("%.2f%d\n”,average/n,m);}答案:.0.scanf.continue第41題題號:418/* 【程序填空】功能:用函數(shù)調(diào)用方式,實現(xiàn)字符串的復制。 */ttinclude<stdio.h>voidstring_copy(char*str_from,char*str_to)Iinti=0;/***********SPACE***********/for(;(*([?])=*(str_from+i))!=\0';i++);main()staticchararraystrl[20]=*iamateacher,chararray_str2[20];/***********space***********/[?](array_strl,array_str2);/***********space***********/[?](*array_str2=%s\n*,array_str2);)答案:.str_to+i或i+str_to.string_copy.printf第42題題號:3/* 【程序填空】功能:已定義一個含有30個元素的數(shù)組s,函數(shù)funl的功能是按順序分別賦予各元素從2開始的偶數(shù),函數(shù)fun2則按順序每五個元素求一個平均值,并將該值存放在數(shù)組w中。 */#include<stdio.h>longints[30];floatw[6];funl(longints[]){intk,i;for(k=2,i=0;i<30;i++)(/***********space***********/[?];k+=2;}}fun2(longints[],floatw[])(floatsum=0.0;intk,i;for(k=0,i=0;i<30;i++)sum+=s[i];/***********SPACE***********/[?]:(w[k]=sum/5;/***********SPACE***********/[?];k++;main()(inti;funl(s);/***********$PACE***********/[?];for(i=0;i<30;i++)(if(i%5==0)printf("\n");printf(*%8.2f”,s[i]);)printf("\n");for(i=O;i<6;i++)printf(*%8.2f",w[i]);}答案:.s[i]=k或s[i]=(i+l)*2.if((i+1)%5=0)或if((i+1)/5*5=i+l).sum=0或sum=0.0.fun2(s,w)第43題題號:400/* 【程序填空】功能:用結構體調(diào)用的方法編程。要求輸入A,B,C,D,E,F五個元素的數(shù)值,并按從大到小的順序輸出。 */#include<stdio.h>[defineNsizeoftbl/sizeoftbl[0]/*取得數(shù)組有多少個元素*/intA,B,C,D,E,F;structele{charvn;/***********SPACE***********/int[?];}tbl[]={{'A',&A},{'B',&B},{'C',&C},{'D',&D},{'E',&E},{'F',&F}},t;main()Iintk,j.m;/***********SPACE***********/for(k=0;k<[?];k++)(printf("Enterdatafor%c\n”,tbl[k].vn);scanf("%d”,tbl[k].vp);}m=N-l;while(m>0)(for(k=j=0;j<m;j++)/***********space***********/if(*tbl[j].vp<[?]){t=tbl[j];tbl[j]=tbl[j+l];tbl[j+l]=t;k=j;)/***********SPACE***********/[?];}for(k=0:k<N;k++)printf("%c(%d)”,tbl[k].vn,*tbl[k].vp);printf('\n");}答案:.*vp.N.*tbl[j+1].vp或*tbl[j+1].vp.m=k第44題題號:456/* 【程序填空】功能:利用指向結構的指針編寫求某年、某月、某日是第幾天的程序,其中年、月、口和年天數(shù)用結構表示。 */#include<stdio.h>#include<stdlib.h>mainO{/***********space***********/[?]daterinty,m,d,n;/***********SPACE***********/}[?];intk,f,a[12]={31,28,31,30,31,30,31,31,30,31,30,31);printf(*date:y,m,d=“);scanf("%d,%d,%d”,&x.y,&x.m,&x.d);f=x.y%4-0&&x?y%100!=0||x.y%400==0;/***********SPACE***********/a[l]+=[?];if(x.m<11|x.m>12||x.d<11|x.d>a[x.m-l])exit(0);for(x.n=x.d,k=O;k<x.m-l;k++)x.n+=a[k];/***********SPACE***********/printf(*n=%d\n*?[?!);}答案:.struct.x.f.x.n第45題題號:8/* 【程序填空】功能:以每行5個數(shù)來輸出300以內(nèi)能被7或17整除的偶數(shù),并求出其和。 */ttinclude<stdio.h>#include<conio.h>main()(inti,n,sum;sum=0;/***********SPACE***********/[?];/***********SPACE***********/for(i=l;[?];i++)/***********SPACE***********/if([?])if(i%2==0){sum=sum+i;n++;printf("%6d”,i);/***********SPACE***********/if([?])printf("\n");)printf("\ntotal=%d”,sum);}答案:.n=0.i<=300或i<300或300>=i或300>i. i%7=0||i%17==0或!(i%7)|!(i%17)或!(i%17)|!(i%7)或!(i%7&&i%17).n%5=0或!(n%5)或n/5*5==n第46題題號:419/* 【程序填空】功能:seek。函數(shù):判斷是否有不合格成績;形參:1個,指向由3個int型元素組成的1維數(shù)組的行指針變量返回值:(1)有不合格成績,則返回指向本行首列的一個(列)指針:(2)沒有有不合格成績,返回值為指向下一行的一個(列)指針 */#include<stdio.h>int*seek(int(*pnt_row)[3])(inti=0,*pnt_col;/***********SPACE***********/[?!=*(pnt_row+l);for(;i<3;i++)if(*(*pnt_row+i)<60)Ipnt_col=*pnt_row;break;/*退出循環(huán)*/)/***********SPACE***********/return([?]);}main()(staticintgrade[3][3]={{55,65,75},(65,75,85},{75,80,90));inti,j,"pointer;for(i=0;i<3;i++){/***********space***********/pointer=seek([?]);if(pointer-*(grade+i))(printf(*No.%dgradelist:",i+1);for(j=0;j<3;j++)/***********SPACE***********/printf(*%d",*([?]));printf('\n");)})答案:.pnt_col.pnt_col.grade+i或i+grade.pointer+j或j+pointer

第47題題號:402/* 【程序填空】功能:輸入三個整數(shù)x,y,z,請把這三個數(shù)由小到大輸出。一*/一*/#include<stdio.h>main()(intx,y,z,t;scanf("%d%d%d",&x,&y,&z);/***********space***********/if(x>y){[?]}/***********space***********//***********space***********/#include<stdio.h>main()(intx,y,z,t;scanf("%d%d%d",&x,&y,&z);/***********space***********/if(x>y){[?]}/***********space***********//***********space***********/if(y>z){[?])printf(*smalltobig:%d%d%d\n”,x,y,z);答案:1)...t=x;x=y;y=tt=z;z=x;x=tt=y;y=z;z=t第48題題號:18【程序填空】功能:將?個數(shù)組中的元素按逆序存放。一*/一*/#include<stdio.h>^defineN7main(){staticinta[N]={12,9,16,5,7,2,1),k,s;printf("\ntheoriganalarray:\n");for(k=0;k<N;k++)printf(*%4d*,a[k]);/***********SPACE***********/for(k=0;k<N/2;[?])s=a[k];/***********SPACE***********/[?];/***********space***********/[?];)printf(/z\nthechangedarray:\n");for(k=0;k<N;k++)/***********space***********/[?]r%4d\a[k]);}答案:.k++或k=k+1或k+=l或++k.a[k]=a[N-k-l]或a[k]=a[N-l-k]或a[k]=a[6~k]或?(a+k)=?(a+N-k-1)或*(a+k)=?(a+N-l-k]或a[k]=a[-l+N-k]或a[k]=a[-1-k+N]或a[k]=a[-k-l+N]或a[k]=a[-k+N-l]或?(a+k)=?(a+N-k-1)或a[6-k]=s.a[N-k-l]=s或a[N-l-k]=s或a[6-k]=s或a[N-k-l]=s或*(a+N-k-l)=s.printf第49題題號:464/* 【程序填空】功能:輸入一奇數(shù)n,打印由l->n*n構成的魔方矩陣。魔方矩陣的行列及對角線的和都相等。魔方矩陣:816357492一*/ttinclude<stdio.h>#include<stdlib.h>^defineMAXSiZE20voidmain(void)intmatrix[MAXSiZE][MAXSiZE];intcount;introw;intcolumn;intn;charlineflOO];printf(*\nOddnMagicSquareGenerator*);printf(*\n====================*);printf(*\n\nnPlease->”);gets(line);n=atoi(1ine);if(n>MAXSiZE)printf('\n***ERROR***nshouldbe<=%d〃,MAXSiZE);elseif(n%2==0)printf("\n***ERROR***nmustbeanoddinteger*);else{row=0;column=n/2;for(count=1;count<=n*n;count++)(matrix[row][column]=count;/***********SPACE***********/if([?]==0)row++;else(/***********space***********/row=(row==[?])?n-1:row-1;/***********SPACE***********/column=(column==[?])?0:column+1;)}printf(*\n\nMagicSquareofn%d:\n\n',n);for(row=0;row<n;row++){for(column=0;column<n;column++)printf("%4d”,matrix[row][column]);printf("\n");答案:.count%n.0.n-1或nT第50題題號:487/* 【程序填空】功能:輸入一個整數(shù),計算它可能是哪兩個整數(shù)的平方和,并打印結果數(shù)據(jù)。如:34是5和3或3和5的平方和。-*/^include<stdio.h>/*fori/0functions*/#include<stdlib.h>/*foratoi()*/^include<math.h>/*forsqrt()*/voidmain(void)(intgiven; /*thegivennumber*/introw,column; /*rowandcolumnindicators*/intcount; /*numberofsolutions*/charline[100];printf(*\nRepresentingaGivenNumberastheSumofTwoSquares*);printfC1,\n==============================================

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論