版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)手工打造天然無添加O(_)O姓名:陳程潔學(xué)號:專業(yè)班級:醫(yī)學(xué)信息工程16級2班實驗一熟悉C語言編程環(huán)境調(diào)試示例:#includeintmain()printf(Welcometoyou!n);return0;基礎(chǔ)編程題(1)輸出短句:在屏幕上顯示一個短句“ProgramminginCisfun!”。#includeintmain()printf(ProgramminginCisfun!n);return0;(2)輸出三角形:在屏幕上顯示下列三角形圖案。#includei
2、ntmain()inti,j;for(i=0;ii;j-)printf(*);printf(n);return0;(3)輸出菱形圖案:在屏幕上顯示下列菱形圖案。#includeintmain()printf(An);printf(AAn);printf(An);return0;改錯題:輸出帶框文字:在屏幕上輸出以下3行信息。*Welcome*#includeintmain()printf(*n);printf(Welcomen);printf(*n);return0;拓展編程題:輸出短句(Whatisacomputer?):在屏幕上顯示一個短句“Whatisacomputer?”#includ
3、eintmain()printf(Whatisacomputern);return0;輸出倒三角形圖案:在屏幕上顯示下列倒三角圖案。#includeintmain()inti,j,k;for(j=4;j0;j-)for(i=0;i4-j;i+)printf();for(i=0;ij;i+)printf(*);printf(n);return0;實驗二用C語言編寫簡單程序2.1基本數(shù)據(jù)處理調(diào)試示例#includeintmain()intcelsius,fahr;fahr=100;celsius=5*(fahr-32)/9;printf(fahr=%d,celsius=%dn,fahr,celsi
4、us);return0;基礎(chǔ)編程題溫度轉(zhuǎn)換:求華氏溫度150F對應(yīng)的攝氏溫度。#includeintmain()intcelsius,fahr;fahr=150;celsius=5*fahr/9-5*32/9;printf(fahr=%d,celsius=%dn,fahr,celsius);return0;計算物體自由下落的距離:一個物體從100m的高空自由落下,編寫程序,求它在前面3s內(nèi)下落的垂直距離。設(shè)重力加速度為10m/s2。#includeintmain()inth,g,t;g=10;t=3;h=g*t*t/2;printf(height=%dn,h);return0;計算平均分:已知
5、某為學(xué)生的數(shù)學(xué)、英語和計算機(jī)課程的成績分別是87分、72分和93分,求該生3門課程的平均分。#includeintmain()intMt,Eg,Cp;Mt=87;Eg=72;Cp=93;printf(math=%d,end=%d,comp=%d,average=%d,Mt,Eg,Cp,(Mt+Eg+Cp)/3);return0;改錯題:計算某個數(shù)的平方賦值給y;分別以“y=x*x”和“x*x=y”的形式輸出x和y的值。請不要刪除源程序中的任何注釋。示例:9=3*33*3=9#includeintmain(void)intx,y;scanf(%d,&x);y=x*x;printf(%d=%d*%
6、dn,y,x,x);/*?3?*/printf(%d*%d=%dn,x,x,y);return0;拓展編程題計算華氏溫度:求攝氏溫度26C對應(yīng)的華氏溫度。計算公式如下:f=(9/5)xc+32其中,c表示攝氏溫度,f表示華氏溫度。#includeintmain(void)intc,f;c=26;f=9*c/5+32;printf(celsius=%d,fahr=%d,c,f);return0;求一個三位數(shù)的各位數(shù)字:當(dāng)n為152時,分別求出n的個位數(shù)字(digit1)、十位數(shù)(digit2)和百位數(shù)字(digit3)的值。#includeintmain(void)intn,digit1,dig
7、it2,digit3;n=152;digit1=n%10;digit2=(n/10)%10;digit3=n/100;printf(整數(shù)%d的個位數(shù)字是%d,十位數(shù)字是%d,百位數(shù)字%dn,n,digit1,digit2,digit3);return0;2.2計算分段函數(shù)調(diào)試示例#includeintmain(void)doublex,y;printf(Enterx:);scanf(%lf,&x);if(x!=0)y=1/x;elsey=0;printf(f(%.2f)=%.1fn,x,y);return0;基礎(chǔ)編程題計算攝氏溫度:輸入華氏溫度,輸出對應(yīng)的攝氏溫度。#includeintmai
8、n()intc,f;scanf(%d,&f);c=5*(f-32)/9;printf(fahr=%dn,c);return0;(2)計算存款利息:輸入存款金額money,存期year和年利率rate,根據(jù)下列公式計算存款到期時的利息interest(稅前),輸出時保留2位小數(shù)。#include#includeintmain()intm,y;doubler,i;scanf(%d%d%lf,&m,&y,&r)printf(money=%d,year=%d,rate=%fn,m,y,r);i=m*pow(1+r,y)-m;printf(interest=%.2f,i);return0;計算分段函數(shù):
9、輸入x,計算并輸出下列分段函數(shù)f(x)的值(保留2位小數(shù)),請調(diào)用sqrt函數(shù)求平方根,調(diào)用pow函數(shù)求冪。#include#includeintmain(void)doublex,y;scanf(%lf,&x);if(x0)y=pow(x+1,2)+2*x+1/x;elsey=sqrt(x);printf(f(%.2f)=%.2f,x,y);return0;改錯題:計算f(x)的值:輸入實數(shù)x,計算并輸出下列分段函數(shù)f(x)的值,輸出是保留1位小數(shù)。#includeintmain(void)doublex,y;printf(Enterx:);scanf(%lf,&x);if(x=10)y=1
10、/x;elsey=x;printf(f(%.1f)=%.1f,x,y);return0;拓展編程題整數(shù)四則運算:輸入兩個整數(shù)num1和num2,計算并輸出他們的和、差、積、商與余數(shù)。#includeintmain(void)intnum1,num2;scanf(%d%d,&num1,&num2);printf(%d+%d=%dn,num1,num2,num1+num2);printf(%d-%d=%dn,num1,num2,num1-num2);printf(%d*%d=%dn,num1,num2,num1*num2);printf(%d/%d=%dn,num1,num2,num1/num2)
11、;printf(%d%d=%d,num1,num2,num1%num2);return0;階梯電價。#includeintmain(void)intx;doubley;scanf(%d,&x);if(x=50)y=0.53*x;elsey=0.53*50+(x-50)*0.58;printf(cost=%.2f,y);return0;計算火車運行時間:#include#includeintmain()inta,b,m,n;scanf(%d%d,&a,&b);if(b%100-a%100)=0)m=(b-a)/100)%10;n=b%100-a%100;printf(Thetrainjourne
12、ytimeis%dhrs%dmins.,m,n);return0;2.3指定次數(shù)循環(huán)調(diào)試示例#includeintmain()inti,sum;sum=0;for(i=1;i=100;i+)sum=sum+i;printf(sum=%dn,sum);return0;基礎(chǔ)編程題求給定序列(1+1/2+1/3+)前n項和:輸入一個正整數(shù)n,計算序列1+1/2+1/3+的前n項和。#includeintmain()intn;doublesum,i;scanf(%d,&n);sum=0;for(i=1;i=n;i+)sum=sum+1/i;printf(sum=%.6f,sum);return0;求給
13、定序列(1+1/3+1/5+)的前n項和:入一個正整數(shù)n,計算序列1+1/3+1/5+的前n項和。#includeintmain()intn;doublesum,i;scanf(%d,&n);sum=0;for(i=1;i=n;i+)sum=sum+1/(i*2-1);printf(sum=%.6f,sum);return0;求給定數(shù)列(1-1/4+1/7-1/10+)前n項和:入一個正整數(shù)n,計算序列1-1/4+1/7-1/10+的前n項和。#includeintmain()intn,item=1;doublesum,i;scanf(%d,&n);sum=0;for(i=1;i=n;i+)s
14、um=sum+(1/(3*i-2)*item;item=-item;printf(sum=%.3f,sum);return0;改錯題:輸出華氏-攝氏溫度轉(zhuǎn)換表:#includeintmain()intfahr,lower,upper;doublecelsius;printf(Enterlower:);scanf(%d,&lower);printf(Enterupper:);scanf(%d,&upper);printf(fahrcelsiusn);for(fahr=lower;fahr=upper;fahr=fahr+2)celsius=(5.0/9.0)*(fahr-32.0);printf
15、(%d%.1fn,fahr,celsius);return0;拓展編程題求交錯序列前n項和:輸入一個正整數(shù)n,計算交錯序列1-2/3+3/5-4/7+5/9-6/11的前n項之和,輸出時保留3位小數(shù)。#includeintmain()intn,item=1;doublesum=0,i;scanf(%d,&n);for(i=1;i=n;i+)sum=sum+(i/(2*i-1)*item;item=-item;printf(sum=%.3fn,sum);return0;序列求和(mxm+1/m+(m+1)x(m+1)+):輸入兩個正整數(shù)m和n(0m=n),計算序列mxm+1/m+(m+1)x(m
16、+1)+1/(m+1)+(m+2)x(m+2)+1/(m+2)+nxn+1/n,結(jié)果保留6位小數(shù)。#includeintmain()intm,n;doublesum=0,i;scanf(%d%d,&m,&n);for(i=m;i=n;i+)sum=sum+i*i+1/i;printf(sum=%.6fn,sum);return0;2.4使用函數(shù)調(diào)試示例#includeintis(intnumber);intmain()intcount,i,sum;count=0;sum=0;for(i=100;i=999;i+)if(is(i)=1)count+;sum=sum+i;printf(count=
17、%d,sum=%dn,count,sum);return0;intis(intnumber)inta,b,c,result,sum;a=number/100;b=(number/10)%10;c=number%10;sum=a+b+c;if(sum=5)result=1;elseresult=0;returnresult;基礎(chǔ)編程題生成3的乘方表:輸入一個正整數(shù)n,生成一張3的乘方表,輸出30到3n的值,可以調(diào)用冪函數(shù)計算3的成方表。#include#includeintmain()intn;scanf(%d,&n);inti;for(i=0;i=n;i+)printf(pow(3,%d)=%
18、.0fn,i,pow(3,i);return0;平方根求和:輸入一個正整數(shù)n,計算1+2+3+n的值(保留2位小數(shù))。包含頭文件math.h,并調(diào)用sqrt函數(shù)求平方根。#include#includeintmain()intn,i;doublesum=0;scanf(%d,&n);for(i=1;i=n;i+)sum=sum+sqrt(i);printf(sum=%.2f,sum);return0;求給定序列(1!+2!+)的前n項和:輸入一個正整數(shù)n,求e=1!+2!+3!+n!的值。要求定義和調(diào)用函數(shù)fact(n)計算n!,函數(shù)類型是double。#includedoublefact(d
19、oublen);intmain()intn,sum=0;doublei;scanf(%d,&n);for(i=1;i=n;i+)sum=sum+fact(i);printf(e=%d,sum);return0;doublefact(doublen)inti;doublesum=1.0;for(i=1;i=n;i+)sum=sum*i;returnsum;改錯題:計算xn:#includedoublemypow(doublex,intn);intmain()intn;doubleresult,x;printf(Enterx,n:);scanf(%lf%d,&x,&n);result=mypow(
20、x,n);printf(result=%.6fn,result);return0;doublemypow(doublex,intn)inti;doubleresult;result=1;for(i=1;i=n;i+)result=result*x;returnresult;拓展編程題求冪之和:輸入一個正整數(shù)n,求下列式子的和,可以調(diào)用pow函數(shù)求冪。#include#includedoublefact(doublen);intmain()intn,i;doublesum=0;scanf(%d,&n);for(i=1;i=n;i+)sum=sum+pow(2,i);printf(sum=%.0f
21、n,sum);return0;求組合數(shù):#includedoublefact(doublen);intmain()intn,m;doublesum;scanf(%d%d,&m,&n);sum=fact(n)/(fact(m)*fact(n-m);printf(result=%.0fn,sum);return0;doublefact(doublen)inti;doublesum=1.0;for(i=1;i=n;i+)sum=sum*i;returnsum;實驗三分支結(jié)構(gòu)程序設(shè)計調(diào)試示例:求一元二次方程的根:#include#includeintmain()doublea,b,c,d;printf
22、(Entera,b,c:);scanf(%lf%lf%lf,&a,&b,&c);d=b*b-4*a*c;if(a=0)if(b=0)if(c=0)printf(參數(shù)都為零,方程無意義!n);elseprintf(a和b為0,c不為0,方程不成立n);elseprintf(x=%.2fn,-c/b);elseif(d0)printf(x1=%.2fn,(-b+sqrt(d)/(2*a);printf(x2=%.2fn,(-b-sqrt(d)/(2*a);elseprintf(x1=%.2f+%.2fin,-b/(2*a),sqrt(-d)/(2*a);printf(x2=%.2f-%.2fin,
23、-b/(2*a),sqrt(-d)/(2*a);return0;基礎(chǔ)編程題計算符號函數(shù)的值:輸入x,計算并輸出下列分段函數(shù)sigh(x)的值。試編寫相應(yīng)程序。#includeintmain()intx,y;scanf(%d,&x);if(x0)printf(sign(%d)=-1,x);elseif(x=0)printf(sign(%d)=0,x);elseprintf(sign(%d)=1,x);return0;比較大?。狠斎?個整數(shù),按從小到大的順序輸出。試編寫相應(yīng)程序。#includeintmain()inta10;inti;for(i=0;i0;j-)for(i=1;i=j;i+)if
24、(aiai-1)intk=ai;ai=ai-1;ai-1=k;for(i=0;i,ai);printf(%dn,a2);return0;分類統(tǒng)計字符:輸入15個字符,統(tǒng)計其中英文字母、空格或回車、數(shù)字字符和其他字符的個數(shù)。試編寫相應(yīng)程序。/無法統(tǒng)計回車#includeintmain()chara15;inti,letter=0,blank=0,digit=0,other=0;gets(a);for(i=0;i47&ai64&ai96&ai123)letter+;elseif(ai=32|ai=n)blank+;elseother+;printf(letter=%dnblank=%dndigit
25、=%dnother=%dn,letter,blank,digit,other);return0;查詢水果價格#includeintmain()doublea5=0,3.0,2.5,4.1,10.2;intx;intk=5;while(k-)scanf(%d,&x);if(x=0)break;elseprintf(price=%.1fn,ax);return0;計算個人所得稅#includeintmain()intgz;doubleshui;scanf(%d,&gz);if(gz1600&gz2500&gz3500&gz=4500)shui=0.15*(gz-1600);elseshui=0.2
26、*(gz-1600);printf(%.2fn,shui);return0;統(tǒng)計學(xué)生成績#includeintmain()inta=0,b=0,c=0,d=0,e=0;intn,x;scanf(%d,&n);while(n-)scanf(%d,&x);if(x=90&x=100)a+;elseif(x=80)b+;elseif(x=70)c+;elseif(x=60)d+;elsee+;printf(%d%d%d%d%dn,a,b,c,d,e);return0;改錯題:輸出三角形面積和周長#include#includeintmain()doublea,b,c;doublearea,perim
27、eter,s;printf(Enter3sidersofthetriangle:);scanf(%lf%lf%lf,&a,&b,&c);if(a+bc&b+ca&a+cb)s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);perimeter=a+b+c;printf(area=%.2f;perimeter=%.2fn,area,perimeter);elseprintf(Thesesidesdonotcorrespondtoavalidtrianglen);return0;拓展編程題三天打魚兩天曬網(wǎng):#include#includeintmain()intda
28、y,yu;scanf(%d,&day);yu=day%5;if(yu-30|yu=0)printf(Dryinginday%dn,day);elseprintf(Fishinginday%dn,day);return0;高速公路超速處罰:#includeintmain()doublev,xian;scanf(%lf%lf,&v,&xian);doubleexceed;exceed=(v/xian)-1)*100;if(exceed=10)printf(Exceed%.0f%.Ticket200n,exceed);elseif(exceed=50)printf(Exceed%.0f%.Ticke
29、tRevokedn,exceed);elseprintf(OKn);return0;計算油費#includeintmain()inta,bi;doublesum=0,b1000;charc;b90=6.95;b93=7.44;b97=7.93;scanf(%d%d%c,&a,&bi,&c);if(c=m)sum=a*bbi*0.95;elsesum=a*bbi*0.97;printf(%.2fn,sum);return0;實驗四循環(huán)結(jié)構(gòu)程序設(shè)計4.1基本循環(huán)語句的使用調(diào)試示例:最大公約數(shù)和最小公倍數(shù)。#includedoublefact(doublen);intmain()intm,n,j,k
30、;doprintf(Inputm:);scanf(%d,&m);printf(Inputn:);scanf(%d,&n);while(m0|n0);j=m;while(j%n!=0)j=j+m;k=(m*n)/j;printf(最大公約數(shù)是%dn最小公倍數(shù)是%dn,k,j);return0;基礎(chǔ)編程題求奇數(shù)和:#includeintmain()intn,sum=0;while(scanf(%d,&n)if(n=0)break;if(n%2!=0)sum=sum+n;printf(%dn,sum);return0;求最小值:輸入一個正整數(shù)n,再輸入n個整數(shù),輸出最小值。試編寫相應(yīng)程序。#incl
31、udeintmain()intn,x1000,i,j;scanf(%d,&n);for(i=0;i0;j-)for(i=1;ij;i+)if(xixi-1)intk=xi;xi=xi-1;xi-1=k;printf(%d,x0);return0;求整數(shù)的位數(shù)以及各位數(shù)字之和:#includeintmain()intx,i,n;scanf(%d,&x);intk=1,sum=0;for(i=1;x/101|x/10-1;i+)k+;sum=sum+x%10;x=x/10;sum=sum+x;printf(%d%d,k,sum);return0;韓信點兵:求序列前n項和:輸入一個正整數(shù)n,輸出2/
32、1+3/2+5/3+8/5+的前n項之和(該序列從第二項起,每一項的分子是前一項的分子與分母的和,分母是前一項的分子),保留2位小數(shù)。試編寫相應(yīng)程序。#includeintmain()intn;doublei;doublesum=0;scanf(%d,&n);doublea=2.0,b=1.0;for(i=1;i=n;i+)sum=sum+a/b;intk=a;a=a+b;b=k;printf(%.2fn,sum);return0;求a+aa+aaa+aaaa+aaaa(n個a):輸入兩個正整數(shù)a和n,求a+aa+aaa+aaaa+aaaa(n個a)之和。試編寫相應(yīng)程序。#include#in
33、cludeintmain()inta,j,i,n;doublesum,p;scanf(%d%d,&a,&n);sum=0;for(i=n;i0;i-)sum=sum+i*a*pow(10,n-i);printf(%.0fn,sum);return0;改錯題:序列求和:輸入一個正整數(shù)eps,計算并輸出下式的值,精確到最后一項的絕對值小于eps(保留6位小數(shù))。請使用do-while語句實現(xiàn)循環(huán)。#include#includeintmain()intflag,n;doubleeps,item,s;printf(Inputeps:);scanf(%lf,&eps);flag=1;s=0;n=1;d
34、oitem=1.0/n;s=s+item*flag;flag=-flag;n=n+3;while(fabs(item*flag)=eps);printf(s=%.6fn,s);return0;拓展編程題:猜數(shù)字游戲:#includeintmain()intx,n;inta,i;scanf(%d%d,&x,&n);for(i=1;ix)printf(Toobign);elseif(ax)printf(Toosmalln);elseif(a=x&i1)printf(LuckyYou!n);break;elseif(a=x&i=1)printf(Bingon);break;elseprintf(Go
35、odGuess!n);break;if(in)printf(GameOvern);return0;兔子繁衍問題:高空墜球:皮球從hight米的高度自由落下,觸地后反彈到原高度的一半,再落下,再反彈,如此反復(fù)。皮球在第n次反彈落地時,在空中經(jīng)過的路程是多少米?第n次反彈的高度是多少?試編寫相應(yīng)程序,輸出保留1位小數(shù)。#includeintmain()doublehight,sum=0;inti,n;scanf(%lf,&hight);scanf(%d,&n);sum=hight;for(i=1;i=n;i+)hight=hight/2.0;sum=sum+2*hight;printf(%.1f%
36、.1f,sum,hight);return0;黑洞數(shù):黑洞數(shù)也稱為陷阱數(shù),又稱“Kaprekar問題”,是一類具有奇特轉(zhuǎn)換特性的數(shù)。任何一個數(shù)字不全相同的三位數(shù),經(jīng)有限次“重拍求差”操作,(即組成該數(shù)的數(shù)字重拍后的最大數(shù)減去重拍后的最小數(shù)),總會得到495。最后所得495即為三位黑洞數(shù)。(6174為四位黑洞數(shù))。#include#includeusingnamespacestd;intmain()intx,i;inta3;scanf(%d,&x);while(x!=495)a0=x%10;a1=(x/10)%10;a2=x/100;sort(a,a+3);intmax,min;max=a2*1
37、00+a1*10+a0;min=a0*100+a1*10+a2;x=max-min;printf(%d-%d=%dn,max,min,x);return0;4.2嵌套循環(huán)調(diào)試示例:求e:輸入一個正整數(shù)n,計算下式的和(保留4位小數(shù)),要求使用嵌套循環(huán)。#includeintmain()doublee,item;inti,j,n;printf(Inputn:);scanf(%d,&n);e=1;for(i=1;i=n;i+)item=1;for(j=1;j=i;j+)item=item*j;e=e+1.0/item;printf(e=%.4fn,e);return0;基礎(chǔ)編程題用兩種方法求e:輸
38、入一個正整數(shù)n,用兩種方法分別計算下式的和(保留4位小數(shù))使用一重循環(huán),不使用自定義函數(shù)。#includeintmain()doublee,item;inti,j,n;printf(Inputn:);scanf(%d,&n);e=1;item=1;for(i=1;i=n;i+)item=item*i;if(i=n)i=0;n=n-1;e=e+1.0/item;item=1;printf(e=%.4fn,e);return0;定義和調(diào)用函數(shù)fact(n)計算n的階乘。#includedoublefact(inti);intmain()doublee,item;inti,j,n;printf(In
39、putn:);scanf(%d,&n);e=1;for(i=1;i=n;i+)doublek=fact(i);e=e+1.0/k;printf(e=%.4fn,e);return0;doublefact(inti)intj;doublesum=1.0;for(j=1;j=i;j+)sum=sum*j;returnsum;驗證哥德巴赫猜想:任何一個大于等于6的偶數(shù)均可表示為兩個素數(shù)之和。例如6=3+3,8=3+5,18=5+13.要求將輸入的一個偶數(shù)表示成兩個素數(shù)之和。是編寫相應(yīng)程序。/這個程序可以輸出所有符合題意的結(jié)果,如果只要一個結(jié)果可以break#includeintmain()intn,
40、a10000;intj,i,k=0;scanf(%d,&n);/求素數(shù)存入a;for(i=2;i=n;i+)intcount=1;for(j=2;ji;j+)if(i%j=0)count+;if(count=1)ak=i;k+;for(i=0;ik;i+)for(j=0;j=i;j+)if(ai+aj=n)printf(%d=%d+%dn,n,aj,ai);return0;換硬幣:將一筆零錢(大于8分,小于1元,精確到分)換算成1分,2分,和5分的硬幣組合。輸入金額,輸出共有多少種換法。要求硬幣面值按5分、2分、1分順序,各類硬幣數(shù)量一次從大到小的順序,輸出各種換法。#includeintma
41、in()intmoney;scanf(%d,&money);intfen5,fen2=0,fen1=3;fen5=1;inti,fen;fen=money-fen5*5;fen2=fen/2;intcount=0;dofen1=fen-fen2*2;if(fen10)printf(fen5:%d,fen2:%d,fen1:%d,total:%dn,fen5,fen2,fen1,fen1+fen2+fen5);count+;fen2-;while(fen2=1);printf(count=%dn,count);return0;水仙花數(shù):輸入兩個正整數(shù)m和n(m=1,n=1000),輸出m到n之間
42、的所有水仙花數(shù)。水仙花數(shù)是指各位數(shù)字的立方和等于其自身的數(shù)。#includeintshuixian(intp);intmain()intm,n;scanf(%d%d,&m,&n);inti;for(i=m;i=10;i+)sum=sum+(p%10)*(p%10)*(p%10);p=p/10;sum=sum+p*p*p;returnsum;輸出三角形字符陣列圖形:輸入一個正整數(shù)n(n7),輸出n行由大寫字母A開始構(gòu)成的三角形字符陣列圖形。#includeintmain()intn;inti,j;chara=A;scanf(%d,&n);for(i=4;i0;i-)for(j=1;j=i;j+)
43、if(j=1)printf(%c,a);elseprintf(%c,a);a+;printf(n);return0;改錯題:找完數(shù)#includeintmain()inti,j,s;for(i=1;i=200;i+)s=1;for(j=2;j=i/2;j+)if(i%j=0)s=s+j;if(s=i)printf(%d=1,i);for(j=2;j=i/2;j+)if(i%j=0)printf(+%d,j);printf(n);return0;拓展編程題從高位開始逐位輸出一個整數(shù)的各位數(shù)字:輸入一個整數(shù),從高位開始逐位分割并輸出它的各位數(shù)字。#includeintmain()inti,x,a1
44、0000,count=0;scanf(%d,&x);for(i=0;x=10;i+)ai=x%10;x=x/10;ai=x;while(i=0)if(count=0)printf(%d,ai-);count=1;elseprintf(%d,ai-);return0;梅森數(shù):#include#includeintmain()intn,N;scanf(%d,&n);N=pow(2,n)-1;inti,j;for(i=2;i=n;i+)intk=pow(2,i)-1;intcount=1;for(j=2;jk;j+)if(k%j=0)count+;if(count=1)printf(%dn,k);r
45、eturn0;實驗五函數(shù)程序設(shè)計調(diào)試示例:#includedoubleresult_real,result_imag;/全局變量voidcomplex_prod(doublereal1,doubleimag1,doublereal2,doubleimag2);intmain()doubleimag1,imag2,real1,real2;/兩個復(fù)數(shù)的實、虛部變量printf(Enter1stcomplexnumber(realandimaginary):);scanf(%lf%lf,&real1,&imag1);/輸入第一個復(fù)數(shù)printf(Enter2ndcomplexnumber(reala
46、ndimaginary):);scanf(%lf%lf,&real2,&imag2);/輸入第二個復(fù)數(shù)complex_prod(real1,imag1,real2,imag2);printf(productofcomplexis%f+%fin,result_real,result_imag);return0;voidcomplex_prod(doublex1,doubley1,doublex2,doubley2)/定義復(fù)數(shù)之積函數(shù)result_real=x1*x2-y1*y2;result_imag=x1*y2+x2*y1;基礎(chǔ)編程題使用函數(shù)計算分段函數(shù)的值:輸入x,計算并輸出下列分段函數(shù)si
47、gh(x)的值。要求定義和調(diào)用函數(shù)sign(x)實現(xiàn)該分段函數(shù)。#includeintsign(intx);intmain()intx,y;scanf(%d,&x);y=sign(x);printf(sign(%d)=%dn,x,y);return0;intsign(intx)inty;if(x0)y=1;elseif(x=0)y=0;elsey=-1;returny;使用函數(shù)求奇數(shù)和:輸入一批正整數(shù)(以零或負(fù)數(shù)為結(jié)束標(biāo)志),求其中所有奇數(shù)的和。要求定義和調(diào)用函數(shù)even(n)判斷整數(shù)的奇偶性,當(dāng)n為偶數(shù)時返回1,否則返回0。#includeinteven(intx);intmain()int
48、x,sum=0,y;while(scanf(%d,&x)!=EOF,x)y=even(x);if(y=0)sum=sum+x;printf(Thesumoftheoddnumbersis%dn,sum);return0;inteven(intx)if(x%2=0)return1;elsereturn0;使用函數(shù)計算兩點間的距離:給定平面任意兩點坐標(biāo)(x1,y1)和(x2,y2),求這兩點間的距離(保留2位小數(shù))。要求定義和調(diào)用函數(shù)dist(x1,y1,x2,y2)計算兩點間距離。#include#includedoubledist(int,int,int,int);intmain()intx1
49、,x2,y1,y2;scanf(%d%d,&x1,&y1);scanf(%d%d,&x2,&y2);doubledi=dist(x1,y1,x2,y2);printf(Distance=%.2fn,di);return0;doubledist(intx1,inty1,intx2,inty2)doubledis;dis=fabs(x1-x2)*fabs(x1-x2)+fabs(y1-y2)*fabs(y1-y2);returnsqrt(dis);使用函數(shù)計算素數(shù)個數(shù)并求和:調(diào)用prime(m)函數(shù)。#includeintprime(int);intmain()intm,n;scanf(%d%d,
50、&m,&n);inti,j,count=0,sum=0;for(i=m;i=n;i+)intk=prime(i);if(k=1&i!=1)count+;sum=sum+i;printf(count=%d,sum=%dn,count,sum);return0;intprime(inti)intj,count=1;for(j=2;ji;j+)if(i%j=0)count+;if(count=1)return1;elsereturn0;使用函數(shù)判斷完全平方數(shù):輸入一個正整數(shù)n,判斷其是否為完全平方數(shù),如果是則輸出“YES”,如果不是則輸出“NO”。要求定義韓式IsSquare(n),判斷n是否為完全
51、平方數(shù)。#include#includevoidIsSquare(int);intmain()intn;scanf(%d,&n);IsSquare(n);return0;voidIsSquare(intn)doublem;m=sqrt(n);if(m*m=n)printf(YESn);elseprintf(NOn);改錯題:使用函數(shù)求1!+2!+10?。阂蠖x并調(diào)用函數(shù)fact(n)計算n!,函數(shù)類型是double。#includedoublefact(intn);intmain()inti;doublesum;for(i=1;i=10;i+)sum=sum+fact(i);printf(1
52、!+2!+.+10!=%fn,sum);return0;doublefact(intn)inti;doubleresult=1.0;for(i=1;i=n;i+)result=result*i;returnresult;/返回值,返回到fact(intn)即fact(i)中拓展編程題使用函數(shù)統(tǒng)計指定數(shù)字的個數(shù):輸入一個整數(shù),統(tǒng)計并輸出該數(shù)中2的個數(shù)。要求定義并調(diào)用函數(shù)countdigit(number,digit),它的功能是統(tǒng)計整數(shù)number中數(shù)字digit的個數(shù)。例如countdigit(10010,0)的返回值是3。#includeintcountdigit(int,int);intm
53、ain()intnum,digit=2;scanf(%d,&num);intnumber=countdigit(num,digit);printf(Numberofdigit%d:%dn,digit,number);return0;intcountdigit(intnum,intdigit)inti,k,count=0;for(i=1;num=10;i+)k=num%10;num=num/10;if(k=digit)count+;if(num=digit)count+;returncount;使用函數(shù)輸出水仙花數(shù):輸入兩個正整數(shù)m和n(m=1,n=1000),輸出m到n之間的所有水仙花數(shù)。水仙
54、花數(shù)是指各位數(shù)字的立方和等于其自身的數(shù)。要求定義并調(diào)用函數(shù)is(number)判斷number的各位數(shù)字之立方和是否等于它本身。#includeintis(intp);intmain()intm,n,i;scanf(%d%d,&m,&n);for(i=m;i=10;i+)sum=sum+(p%10)*(p%10)*(p%10);p=p/10;sum=sum+p*p*p;returnsum;使用函數(shù)求余弦函數(shù)的近似值:輸入精度e,用下列公式求cos(x)的近似值,精確到最后一項的絕對值小于e。要求定義和調(diào)用函數(shù)funcos(e,x)求余弦函數(shù)的近似值。#include#includedouble
55、funcos(doublee,doublex);intmain()doublee,x;scanf(%lf%lf,&e,&x);doublesum=funcos(e,x);printf(%lfn,sum);return0;doublefuncos(doublee,doublex)inti,j,flag=1;doublesum=0,item=100,jie;for(i=0;item=e;i=i+2)jie=1;for(j=1;j=i;j+)jie=jie*j;item=pow(x,i)/jie;sum=sum+item*flag;flag=-flag;returnsum;使用函數(shù)求最大公約數(shù):輸入
56、兩個正整數(shù)x和y,要求定義并調(diào)用函數(shù)gcd(x,y)求這兩個數(shù)的最大公約數(shù)。#includeintgcd(int,int);intmain()?intx,y;?while(scanf(%d%d,&x,&y)!=EOF,x!=0&y!=0)?printf(%dn,gcd(x,y);?return0;intgcd(intx,inty)?intc;?c=x%y;?while(c!=0)?x=y;?y=c;?c=x%y;?returny;實驗六控制結(jié)構(gòu)程序設(shè)計調(diào)試示例#includedoublefact(intn);doublemulti(intn);intmain()doublei;doublesu
57、m,item,eps;eps=1E-6;sum=1;item=1;for(i=1;item=eps;i+)item=fact(i)/multi(2.0*i+1.0);sum=sum+item;printf(PI=%.5fn,sum*2);return0;doublefact(intn)inti;doubleres;res=1;for(i=1;i=n;i+)res=res*i;returnres;doublemulti(intn)inti;doubleres;res=1;for(i=3;i=n;i=i+2)res=res*i;returnres;基礎(chǔ)編程題:分類統(tǒng)計字符個數(shù):編寫程序,輸入一行字
58、符,統(tǒng)計出其中的英文字母、空格、數(shù)字和其他字符個數(shù)。#include#includeintmain()chara10000;inti,letter=0,blank=0,digit=0,other=0;gets(a);intk=strlen(a);for(i=0;i47&ai64&ai96&ai123)letter+;elseif(ai=32|ai=n)blank+;elseother+;printf(letter=%dnblank=%dndigit=%dnother=%dn,letter,blank,digit,other);return0;使用函數(shù)累加由n個a構(gòu)成的整數(shù)之和:輸入兩個正整數(shù)a
59、和n,求a+aa+aaa+aaaaa(n個a)之和。要求定義并調(diào)用函數(shù)fn(a,n),它的功能返回aaa(n個a)。例如fn(3,2)的返回值是33。#include#includedoublefn(int,int);intmain()inta,j,i,n;doublesum,p;scanf(%d%d,&a,&n);sum=0;for(i=1;i=n;i+)sum=sum+fn(a,i);printf(%.0fn,sum);return0;doublefn(inta,inti)intj;doublesm=0;for(j=0;ji;j+)sm=sm+a*pow(10,j);returnsm;使用
60、函數(shù)輸出指定范圍內(nèi)的完數(shù):輸入兩個正整數(shù)m和n(1=m,n=100),輸出mn之間的所有完數(shù)。完數(shù)就是因子和它本身相等的數(shù),如6=1+2+3,6就是一個完數(shù)。要求定義并調(diào)用函數(shù)factorsum(number),它的功能就是返回number的因子和。例如,factorsum(12)的返回值是16(1+2+3+4+6)。#includeintfactorsum(int);intmain()intm,n,i,sum,j,count=0;scanf(%d%d,&m,&n);for(j=m;j=n;j+)intk=factorsum(j);if(k!=0)if(count=0)printf(%d,k)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度共享經(jīng)濟(jì)項目合伙人退出條款3篇
- 小學(xué)數(shù)學(xué)課堂上的互動游戲資源探討
- 2025年度版權(quán)轉(zhuǎn)讓合同:版權(quán)擁有者將其版權(quán)全部或部分轉(zhuǎn)讓給另一方的法律文件3篇
- 2024薪資協(xié)議書-航空運輸企業(yè)員工模板3篇
- 2025年度水電與消防設(shè)施安裝驗收包清工合同模板3篇
- 2025年度全國測繪行業(yè)工作經(jīng)驗總結(jié)報告合同3篇
- 2024聘用培訓(xùn)講師附帶課程資料版權(quán)授權(quán)合同3篇
- 2024版勞務(wù)咨詢服務(wù)合同簡單
- 2024版綜合招商代理合作合同版B版
- 2025年度紗窗產(chǎn)品展覽展示服務(wù)合同違約責(zé)任賠償條款3篇
- 2020年度全國煤礦安全事故統(tǒng)計
- DB2308T 220-2024陸基圓池(桶)+池塘循環(huán)水養(yǎng)殖技術(shù)規(guī)程
- 【數(shù)學(xué)】2021-2024年新高考數(shù)學(xué)真題考點分布匯
- 2024年湖南省公務(wù)員錄用考試《行測》真題及答案解析
- 大班健康教案及教學(xué)反思《蜈蚣走路》
- 生活妝課件教學(xué)課件
- 延遲支付協(xié)議書范本-合同范本
- 2023-2024學(xué)年廣東省廣州市番禺區(qū)八年級(上)期末英語試卷
- 物業(yè)管理公文寫作培訓(xùn)
- 2024期貨反洗錢培訓(xùn)
- 2023醫(yī)療質(zhì)量安全核心制度要點釋義(第二版)對比版
評論
0/150
提交評論