二級(jí)(C語(yǔ)言程序設(shè)計(jì))上機(jī)題匯總_第1頁(yè)
二級(jí)(C語(yǔ)言程序設(shè)計(jì))上機(jī)題匯總_第2頁(yè)
二級(jí)(C語(yǔ)言程序設(shè)計(jì))上機(jī)題匯總_第3頁(yè)
二級(jí)(C語(yǔ)言程序設(shè)計(jì))上機(jī)題匯總_第4頁(yè)
二級(jí)(C語(yǔ)言程序設(shè)計(jì))上機(jī)題匯總_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

二級(jí)(C語(yǔ)言程序設(shè)計(jì))上機(jī)題匯總二級(jí)(C語(yǔ)言程序設(shè)計(jì))上機(jī)題匯總二級(jí)(C語(yǔ)言程序設(shè)計(jì))上機(jī)題匯總xxx公司二級(jí)(C語(yǔ)言程序設(shè)計(jì))上機(jī)題匯總文件編號(hào):文件日期:修訂次數(shù):第1.0次更改批準(zhǔn)審核制定方案設(shè)計(jì),管理制度二級(jí)(C語(yǔ)言程序設(shè)計(jì))上機(jī)題匯總一、程序調(diào)試題(一)程序填空練習(xí)一:/*該程序功能:對(duì)x=1,2,。。。。。,10,f(x)=x*x*-5*x+sin(x)的最大值。*/#include<>#include<>#definef(x)x*x-5*x+sin(x)voidmain(){intx;floatmax;____max=f(1);____for(x=2;x<=10;x++)___if(max<f(x))max=f(x);___printf("%f\n",max);}練習(xí)二:/*該程序功能:輸入三個(gè)整數(shù),按由小到大的順序輸出這三個(gè)數(shù)。*/#include<>voidswap(__int*pa,int*pb____){/*交換兩個(gè)數(shù)的位置*/inttemp;temp=*pa;*pa=*pb;*pb=temp;}voidmain(){inta,b,c,temp;scanf("%d%d%d",&a,&b,&c);if(a>b)swap(&a,&b);if(b>c)swap(&b,&c);if(__a>b___)swap(&a,&b);printf("%d,%d,%d",a,b,c);}練習(xí)三:/*該程序功能:將輸入的十進(jìn)制正整數(shù)n通過(guò)函數(shù)Dec2Bin轉(zhuǎn)換為二進(jìn)制數(shù),并將轉(zhuǎn)換結(jié)果輸出。*/#include<>voidDec2Bin(intm){intbin[32],j;for(j=0;m!=0;j++){bin[j]=__m%2___;m=m/2;}for(;j!=0;j--)printf("%d",____bin[j-1]______);}voidmain(){intn;scanf("%d",&n);Dec2Bin(n);}練習(xí)四:/*該程序功能:輸入數(shù)組x[7],調(diào)用函數(shù)f,去除數(shù)組中的負(fù)數(shù),輸出結(jié)果為:1346*/#include<>voidf(int*a,int*m){inti,j;for(i=0;i<*m;i++)if(a[i]<0){for(j=i--;j<*m-1;j++)a[j]=a[j+1];___*m=*m-1;___}}voidmain(){inti,n=7,x[7]={1,-2,3,4,-5,6,-7};_f(x,&n);_____for(i=0;i<n;i++)printf("%5d",x[i]);printf("\n");}練習(xí)五:/*該程序功能:輸出6~1000之間的完數(shù)(1個(gè)數(shù)的因子和等于其自身的數(shù):6=1+2+3,28=1+2+4+7+14,則6,28都是完數(shù))*/#include<>voidmain(){inti,j,s;for(i=6;i<=1000;i++){___s=1;___for(j=2;___j<i___;j++)if(i%j==0)s+=j;if(s==i)printf("%d\n",s);}}練習(xí)六:/*該程序功能:輸入整數(shù)n(n>0),求m使得2的m次方小于或等于n,2的m+1次方大于或等于n。*/#include<>voidmain(){intm=0,t=1,n;while(__scanf(“%d”,&n),n<=0___);while(!(t<=n&&t*2>=n)){___t=t*2;___m++;}printf("%d\n",m);}練習(xí)七:/*該程序功能:函數(shù)f將數(shù)組循環(huán)左移k個(gè)元素,數(shù)組x[7]調(diào)用函數(shù)f后的輸出結(jié)果為:4567123*/#include<>voidf(int*a,intn,intk){inti,j,t;for(i=0;i<k;i++){_t=a[0];for(j=1;j<n;j++)a[j-1]=a[j];a[n-1]=t;}}voidmain(){inti,x[7]={1,2,3,4,5,6,7};f(x,7,3);for(i=0;i<7;i++)printf("%5d",x[i]);printf("\n");}練習(xí)八:/*該程序功能:調(diào)用函數(shù)f,求二維數(shù)組a中全體元素的和.*/#include<>floatf(_float*x[],intm,intn_____){floaty=0;inti,j;for(i=0;i<m;i++)for(j=0;j<n;j++)y=y+*(*(x+i)+j);returny;}voidmain(){floata[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}},*b[3];inti;for(i=0;i<3;i++)b[i]=__a[i]__;printf("%.2f\n",f(b,3,4));}練習(xí)九:/*該程序功能:求輸入的整數(shù)各位數(shù)字之和,如輸入234則輸出9,輸入-312則輸出6。*/#include<>#include<>voidmain(){intn,s=0;scanf("%d",&n);____n=fabs(n);____while(n!=0){____s+=n%10;____n=n/10;}printf("%d\n",s);}練習(xí)十:/*該程序功能:數(shù)組的第1,2項(xiàng)均為1,此后各項(xiàng)值均為該項(xiàng)前二項(xiàng)之和。計(jì)算數(shù)組第30項(xiàng)的值。*/#include<>__longf(intn);voidmain(){printf("%ld\n",f(30));}longf(intn){if(_____n==1||n==2)return1;elsereturnf(n-1)+f(n-2);}練習(xí)十一:/*該程序功能:輸入m,n(要求輸入均大于0,且m>=n),輸出它們的最大公約數(shù)*/#include<>voidmain(){intm,n,k;while(scanf("%d%d",&m,&n),m<=0||n<=0||m<n);for(k=n;n%k!=0||m%k!=0;k--);printf("%d\n",k);}練習(xí)十二:/*程序功能:輸入一個(gè)整數(shù)后,輸出該數(shù)的位數(shù),如3114,則輸出4。*/#include<>voidmain(){intn,k=0;scanf(“%d”,&n);while(n!=0){k++;n=n/10;}printf(“%d\n”,k);}練習(xí)十三:/*程序功能:調(diào)用函數(shù)f,計(jì)算代數(shù)多項(xiàng)式+*x+*x*x+*x*x*x+*x*x*xx,當(dāng)x=時(shí)的值。*/#include<>floatf(float,float*,int);voidmain(){floatb[5]={,,,,};printf("%f\n",f,b,5));}floatf(floatx,float*a,intn){floaty=a[0],t=1;inti;for(i=1;i<n;i++){t=t*x;y=y+a[i]*t;}returny;}練習(xí)十四:/*程序功能:調(diào)用函數(shù)f,從字符串中刪除所有的數(shù)字字符。*/#include<>#include<>#include<>voidf(char*s){inti=0;while(s[i]!='\0')if(isdigit(s[i]))strcpy(s+i,s+i+1);elsei++;}(二)程序修改練習(xí)一:/*該程序功能:運(yùn)行是輸入n,輸出n各位數(shù)字之和(如n=1308則輸出12,n=-3204則輸出9)。*/#include<>#include<>voidmain(){intn,s=0;scanf("%d",&n);n=fabs(n);/********1*******/while(n>1){和直到末項(xiàng)的絕對(duì)值小于eps為止。*/#include<>#include<>voidmain(){floatx,eps,s=1,t=1,i=1;scanf("%f%f",&x,&eps);do{/*****1*****/t=-t*x/++i;,a[i].y);,&a[i].y);for(i=0;i<n;i++)if(sqrt(a[i].x*a[i].x+a[i].y*a[i].y)<=5)printf("%f,%f\n",a[i].x,a[i].y);}練習(xí)十:程序功能:分別統(tǒng)計(jì)字符串中所有英文字母中的各元音字母?jìng)€(gè)數(shù)。#include<>#include<>voidmain(){chara[80];intn[5]={0},i;gets(a);for(i=0;a[i]!='\0';i++)/*****1*****/switch(toupper(a[i])){....的值,并將其值以格式"%.6f"寫到考生目錄中Paper下目錄下的新建文件中*/#include<>#include<>voidmain(){FILE*p;inti;floatx=,t=,y=;floata[10]={,,,,,,,,,};/*考生在這里添加程序*/y=a[0];p=fopen("","w");for(i=1;i<10;i++){t=t*x;y+=a[i]*sin(t);}fprintf(p,"%.6f",y);fclose(p);}練習(xí)三:/*設(shè)計(jì)程序:計(jì)算多項(xiàng)式a0+a1*x+a2*x*x+a3*x*x*x+...的值,并將其值一格式"%f"寫到考生目錄中Paper下目錄下的新建文件中*/#include<>#include<>voidmain(){FILE*p;inti;floatx=,t=1,y=0;floata[10]={,,,,,,,,,};/*考生在這里添加程序*/y=a[0];p=fopen("","w");for(i=1;i<10;i++){t=t*x;y+=a[i]*t;}fprintf(p,"%f",y);fclose(p);}練習(xí)四:/*設(shè)計(jì)程序:累加a字符串各個(gè)字符的ASCII碼值,然后將累加和以形式“%d”寫到考生目錄中Paper下目錄下的新建文件中*/#include<>voidmain(){FILE*p;ints=0,i=0;char*a="r235%^%34cdDW,.";/*考生在這里添加程序*/p=fopen("","w");for(;a[i]!='\0';i++)s+=a[i];fprintf(p,"%d",s);fclose(p);}練習(xí)五:/*設(shè)計(jì)程序:尋找并輸出11到999之間的數(shù)m,它滿足m,m*m,m*m*m均為回文數(shù)。所謂回文數(shù)是指各位數(shù)字左右對(duì)稱,例如121,676,94249等。滿足上述條件的數(shù)如m=11,m^2=121,m^3=1331皆為回文數(shù)。請(qǐng)編制函數(shù)intJSValue(longm)實(shí)現(xiàn)此功能,如果是回文數(shù),則函數(shù)返回為1,反之則返回0。*/#include<>#include<>#include<>intJSValue(longm){/*考生在這里添加程序*/inta[10],i=0,n;while(m){a[i]=m%10;m=m/10;i++;}for(--i,n=i;i>n/2;i--)if(a[i]!=a[n-i])return0;return1;}voidmain(){FILE*p;longm;p=fopen("","w");for(m=11;m<1000;m++){if(JSValue(m)&&JSValue(m*m)&&JSValue(m*m*m))fprintf(p,"%ld",m);}fclose(p);}練習(xí)六:/*設(shè)計(jì)程序:數(shù)列各項(xiàng)為1,1,2,3,5,8,13,21,…,求其前40項(xiàng)之和,并將求和的結(jié)果以格式“%d”寫到考生目錄下的新建文件中*/#include<>voidmain(){FILE*p;longs=0,i,a[40];/*考生在這里添加程序*/p=fopen("","w");for(i=0;i<40;i++){if(i==1||i==0)a[i]=1;elsea[i]=a[i-2]+a[i-1];}for(i=0;i<40;i++)s+=a[i];fprintf(p,"%d",s);fclose(p);}練習(xí)七:/*設(shè)計(jì)程序:計(jì)算數(shù)列1,-1/3!,1/5!,-1/7!,1/9!,…的和至某項(xiàng)的絕對(duì)值小于1e-5時(shí)為止(該項(xiàng)不累加),將求和的結(jié)果以“%.6f”寫到考生目錄下的新建文件中*/#include<>#include<>voidmain(){FILE*p;floats=1,t=1,i=3;/*考生在這里添加代碼*/p=fopen("","w");do{t=-t*i*(i-1);s=s+1/t;i+=2;}while(fabs(1/t)>=1e-5);fprintf(p,"%.6f",s);fclose(p);}練習(xí)八:/*設(shè)計(jì)程序:a,b,c為區(qū)間[1,100]的整數(shù),統(tǒng)計(jì)使等式c/(a*a+b*b)=1成立的所有解的個(gè)數(shù)(若a=1,b=3,c=10是1個(gè)解,則a=3,b=1,c=10也是解)。*/#include<>voidmain(){FILE*p;intn=0,a,b,c;/*考生在這里添加代碼*/p=fopen(“”,”w”);for(a=1;a<=100;a++)for(b=1;b<=100;b++)for(c=1;c<=100;c++)if(c==(a*a+b*b))n++;fprintf(p,“%d”,n);fclose(p);}練習(xí)九:/*設(shè)計(jì)程序:在數(shù)組x的10個(gè)數(shù)中求平均值v,找出與v相差最小的數(shù)組元素并將其以格式“%.5f”寫到考生目錄下的新建文件中*/#include<>#include<>voidmain(){FILE*p;inti;floatk=0;floatx[10]={,,,,,,-5,,,},d,v=0;for(i=0;i<10;i++)v+=x[i];v=v/10;d=fabs(x[0]-v);/*考生在這里添加代碼*/p=fopen("","w");k=x[0];for(i=0;i<10;i++)if(d>fabs(x[i]-v)){d=fabs(x[i]-v);k=x[i];}fprintf(p,"%.5f",k);fclose(p);}練習(xí)十:/*設(shè)計(jì)程序:在正整數(shù)中找出1個(gè)最小的,被3,5,7,9除余數(shù)分別為1,3,5,7的數(shù),將該數(shù)以格式“%d”寫到考生的目錄下的新建文件中*/#include<>#include<>voidmain(){/*考生在這里添加代碼*/FILE*p;inti;p=fopen(“”,”w”);for(i=1;;i++)if((i%3==1)&&(i%5==3)&&(i%7==5)&&(i%9==7))break;fprintf(p,"%d",i);fclose(p);}練習(xí)十一:/*設(shè)計(jì)程序:將滿足條件pow,n)<1e6<pow,n+1)的n,pow,n)值以格式“%d,%.0f”寫到生目錄下的新建文件中*/#include<>#include<>voidmain(){floaty=;intn=1;FILE*p;/*考生在這里添加代碼*/p=fopen(“”,”w”);for(;pow(y,n)>1e6||pow(y,n+1)<1e6;n++);fprintf(p,"%d,%.0f",n,pow,n));fclose(p);}練習(xí)十二:/*設(shè)計(jì)程序:計(jì)算2的平方根,3的平方根,…,10的平方根之和,要求計(jì)算結(jié)果具有小數(shù)點(diǎn)后10有效位數(shù),以“%.10f\n”寫到考生的目錄下的新建文件中*/#include<>#include<>voidmain(){FILE*p;/*考生在這里添加代碼*/floatx=0;inti;p=fopen("","w");for(i=2;i<=10;i++)x+=sqrt(i);fprintf(p,"%.10f",x);fclose(p);}練習(xí)十三:/*設(shè)計(jì)程序:將a數(shù)組的每1行均除以該行上絕對(duì)值最大的元素,然后將a數(shù)組寫到考生的目錄的新建文件中*/#include<>#include<>voidmain(){floata[3][3]={{,,},{2,3,},{3,4,}};FILE*p;floatx;inti,j;/*考生在這里添加代碼*/for(i=0;i<3;i++){x=a[i][0];for(j=0;j<3;j++)if(fabs(x)<fabs(a[i][j]))x=a[i][j];for(j=0;j<3;j++)a[i][j]=a[i][j]/x;}p=fopen("","w");for(i=0;i<3;i++){for(j=0;j<3;j++)fprintf(p,"%",a[i][j]);fprintf(p,"\n");}fclose(p);}練習(xí)十四:/*設(shè)計(jì)程序:x[i],y[i]分別表示平面上1個(gè)點(diǎn)的x,y坐標(biāo),求下列5點(diǎn)各點(diǎn)間距離總和,并將該數(shù)以格式“%.4f”寫到考生的目錄下的新建文件中*/#include<>#include<>voidmain(){FILE*p;floats,x[5]={,,,,};floaty[5]={7,,,,};inti,j;/*考生在這里添加代碼*/p=fopen("","w");s=0;for(i=0;i<4;i++)for(j=i+1;j<5;j++)s+=sqrt(pow(x[i]-x[j],2)+pow(y[i]-y[j],2));fprintf(p,"%.4f",s);fclose(p);}練習(xí)十六:/*設(shè)計(jì)程序:計(jì)算字符串s中每個(gè)字符的權(quán)重值,所謂權(quán)重值就是字符串中的位置值與該字符的ASCII碼值的乘積。位置值從1開(kāi)始依次遞增。將每個(gè)字符的權(quán)重值,以格式“%d”寫到考生的目錄下的新建文件中*/#include<>#include<>voidmain(){FILE*p;inti,w;char*s="we45*&y3r#$1";/*考生在這里添加代碼*/p=fopen(“”,”w”);for(i=0;s[i]!='\0';i++){w=s[i]*i;fprintf(p,”%d”,w);}fclose(p);}練習(xí)十七:/*程序設(shè)計(jì):在6至1000內(nèi)找出所有的合數(shù),用語(yǔ)句“fprintf(p,”%6d”,n);”輸出。說(shuō)明(某個(gè)數(shù)等于其諸因子之和,則該數(shù)為合數(shù):6=1+2+3,28=1+2+4+7+14,6,28都是合數(shù))*/#include<>voidmain(){FILE*p;intn,j,s;/*考生在這里添加代碼*/p=fopen(“”,”w”);for(n=6;n<=1000;n++){s=0;for(j=1;j<n;j++)if(n%j==0)s+=j;if(s==n)fprintf(p,"%d\n",n);}fclose(p);}練習(xí)十八:/*程序設(shè)計(jì)題:統(tǒng)計(jì)滿足條件x*x+y*y+z*z==2000的所有解的個(gè)數(shù),并將統(tǒng)計(jì)結(jié)果以格式"%d"寫入到考生目錄下新建的文件。說(shuō)明:若a、b、c是1個(gè)解,則a、c、b也是1個(gè)解,等等。*/#include<>voidmain(){FILE*p;intx,y,z,k=0;/*考生在這里添加代碼*/p=fopen(“”,”w”);for(x=-45;x<45;x++)for(y=-45;y<45;y++)for(z=-45;z<45;z++)if(x*x+y*y+z*z==2000)k++;fprintf(p,”%d”,k);fclose(p);}練習(xí)十九:/*程序設(shè)計(jì)題:數(shù)組元素x[i]、y[i]表示平面上某點(diǎn)坐標(biāo),統(tǒng)計(jì)所有各點(diǎn)間最短距離,并將其值以格式"%f"寫到考生目錄下新建文件。*/#include<>#include<>#definelen(x1,y1,x2,y2)sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))voidmain(){FILE*p;inti,j;floatc,minc;floatx[]={,,,,,,,,,};floaty[]={-6,,,,,,,,,};minc=len(x[0],y[0],x[1],y[1]);/*考生在這里添加代碼*/p=fopen("","w");for(i=0;i<10;i++)for(j=0;j<10;j++){c=len(x[i],y[i],x[j],y[j]);if(i!=j&&minc>c)minc=c;}fprintf(p,"%f",minc);fclose(p);}練習(xí)二

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論