C課程設(shè)計(jì)及源程序_第1頁
C課程設(shè)計(jì)及源程序_第2頁
C課程設(shè)計(jì)及源程序_第3頁
C課程設(shè)計(jì)及源程序_第4頁
C課程設(shè)計(jì)及源程序_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、編程題: 1. 編程求出下列分段函數(shù)值,其中x的值從鍵盤輸入。x<-5-5x10x>10分析:開始x<5輸入xx<=10y=sqrt(2*x*x+1)y=exp(x)-2y=x-10輸出y結(jié)束這是一個(gè)分段函數(shù),屬于多分支問題,可以用if的嵌套語句解決。流程圖:YNYN源程序:#include<iostream>#include<cmath>using namespace std;int main()double x,y;cout<<"輸入自變量x:"cin>>x;if(x<=-5)y=sqrt(2

2、*x*x+1);elseif(x<=10)y=exp(x)-2;else y=x-10cout<<"f("<<x<<")="<<y<<endl;return 0;運(yùn)行結(jié)果:2、題目:輸入某年某月某日,判斷這一天是這一年的第幾天?分析:該題可用一下步驟來達(dá)成:1、用switch判斷到剛到每月是第幾天;2、再用得出的數(shù)值sum加上day,得出新的sum值;3、用if語句判斷這一年是不是閏年,如果是而且是二月份之后的日期,則再加1,如果不是則輸出原來的數(shù)值。結(jié)束summonh>2sum+s

3、um+=daysum=0sum=31sum=334breakbreakbreak輸入錯(cuò)誤default1112month開始breakyear%400=0|(year%4=0&&year%100!=0)i=1i=0流程圖:源程序:#include<iostream>using namespace std;int main()cout<<"year:" cin>>year;cout<<"month:" cin>>month;cout<<"day:"

4、cin>>day;switch(month) case 1:sum=0;break; case 2:sum=31;break; case 3:sum=59;break; case 4:sum=90;break; case 5:sum=120;break; case 6:sum=151;break; case 7:sum=181;break; case 8:sum=212;break; case 9:sum=243;break; case 10:sum=273;break; case 11:sum=304;break; case 12:sum=334;break; default:c

5、out<<"輸入錯(cuò)誤"<<endl;break; sum+=day;if(year%400=0|(year%4=0&&year%100!=0)i=1;elsei=0;if(i=1&&month>2)sum+;cout<<"這是這一年的第"<<sum<<"天"<<endl;return 0;運(yùn)行結(jié)果:3、運(yùn)輸公司對用戶計(jì)算運(yùn)費(fèi)。路程(s)越遠(yuǎn),每公里運(yùn)費(fèi)越低。標(biāo)準(zhǔn)如下: s250km 沒有折扣 250s500 2折扣 500s1

6、000 5折扣 1000s2021 8折扣 2021 s3000 10折扣3000s 15折扣用switch結(jié)構(gòu)實(shí)現(xiàn)。分析:設(shè)每公里每噸貨物的基本運(yùn)費(fèi)為p(price的縮寫),貨物重為w(wright的縮寫),距離為,折扣為d(discount的縮寫),則總運(yùn)費(fèi)f(freight的縮寫)的計(jì)算公式為 f = p * w * s * (1 - d)算法設(shè)計(jì)要點(diǎn): 為使用switch語句,必須將距離s與折扣d的關(guān)系,轉(zhuǎn)換成某些整數(shù)與提成的關(guān)系。分析本題可知,提成的變化點(diǎn)都是250的整數(shù)倍,如果將距離s整除250,則當(dāng):s250km 對應(yīng)0; 250s500 對應(yīng)1; 500s1000 對應(yīng)2,3;

7、 1000s2021 對應(yīng)4,5,6,7; 2021 s3000 對應(yīng)8,9,10,11;3000s 對應(yīng)12流程圖:開始輸入p,w,sswitch(s/250)case 0d=0breakcase 1d=0.02breakcase 11d=0.10breakdefaultd=0.15break輸出df=p*w*s*(1-d)輸出f結(jié)束源程序:#include<iostream>using namespace std;int main()int s;double f,p,w,d;cout<<"每噸基本運(yùn)費(fèi)為:" cin>>p;cout&l

8、t;<"貨物重量為:" cin>>w;cout<<"運(yùn)送距離為:" cin>>s;switch(s/250)case 0:d=0;break; case 1:d=0.02;break;case 2:d=0.05;break;case 3:d=0.05;break;case 4:d=0.08;break;case 5:d=0.08;break;case 6:d=0.08;break;case 7:d=0.08;break;case 8:d=0.10;break; case 9:d=0.10;break; case

9、10:d=0.10;break;case 11:d=0.10;break;default:d=0.15;break; f=p*w*s*(1-d);cout<<"總運(yùn)費(fèi)為:"<<f<<endl;return 0;運(yùn)行結(jié)果: 4.有一數(shù)列:2/1, 4/3, 6/7, 8/13, 10/21 ,12/31,編寫程序,求出這個(gè)數(shù)列的前500項(xiàng)之和。分析:觀察這個(gè)數(shù)列得出,每項(xiàng)的分母是前一項(xiàng)的分子分母的和,分子式這一項(xiàng)的分母加前一項(xiàng)的分子。由此,可以確定該數(shù)列的完成可以用for語句構(gòu)成的循環(huán)體。sum結(jié)束a=f2/f1;sum+=a;f1+=f2

10、;f2+=f1;開始int i,f1=1,f2=2;double a,sum=0;for(i=0;i<=500;i+)流程圖:源程序:#include<iostream>using namespace std;int main()int i,f1=1,f2=2;double a,sum=0;for(i=1;i<=500;i+)a=f2/f1;sum+=a;f1+=f2;f2+=f1;cout<<"數(shù)列的前500項(xiàng)之和為:"<<sum<<endl;return 0;運(yùn)行結(jié)果5.輸入一個(gè)正整數(shù)n,求分析:該題是求一個(gè)數(shù)

11、列的和,項(xiàng)數(shù)由n控制,根據(jù)每項(xiàng)的結(jié)構(gòu),可以用for語句來達(dá)成該數(shù)列求和的運(yùn)算。流程圖:開始int i,n,a,sumfor(i=1;i<=n;i+)a=pow(i,i);sum+=a;sum=?結(jié)束源程序:#include<iostream>#include<cmath>using namespace std;int main()int n,i,a,sum=0;cout<<"請輸入n的值:" cin>>n;for(i=1;i<=n;i+)a=pow(i,i);sum+=a;cout<<"sum

12、="<<sum<<endl;return 0;運(yùn)行結(jié)果6.輸入一個(gè)長整數(shù),從高位開始逐位分割并輸出。例如輸入123456,逐位輸出1,2,3,4,5,6.分析:該題是要單個(gè)輸出一個(gè)長整數(shù)中每一位上的數(shù)字,并在中間加逗號隔開,其關(guān)鍵在于,先要使用swith循環(huán)語句逐步用10對輸入的數(shù)字求余,然后達(dá)到輸出每一位數(shù)的效果,在最后輸出的時(shí)候用輸出控制符,顯示出逗號。num<0開始numnum=-numt=num;p=1t>10p*=10;/=10;p>=1d=num/p;num=num%p;p/=10;d結(jié)束流程圖:FTfalseturnfalset

13、urn源程序:#include<iostream>using namespace std;int main()int d;long num,t,p;cout<<"請輸入長整數(shù):" cin>>num;if(num<0) num=-num;t=num;p=1;while(t>10)p*=10;t/=10;while(p>=1)d=num/p;num=num%p;p/=10; cout<<d<<"," cout<<'n'<<endl;retur

14、n 0;運(yùn)行結(jié)果:7.編寫計(jì)算下列表達(dá)式的程序:s=2+(2+4)+(2+4+6)+(2+4+6+8)+(2+4+6+n) 這里設(shè)n=20。算法分析:整體是一求和計(jì)算,運(yùn)用累加法。其中n為整型偶數(shù)。先是一個(gè)單個(gè)的等差數(shù)列即a=2+(n-1)*2,對其求和得到一個(gè)新的數(shù)列,再對新的數(shù)列求和得到s;經(jīng)過推斷可以確定用for語句來到達(dá)題目的要求。流程圖: 開始s=0;sum=0;i=1n=2*i;sum+=n;s+=sum;s=?i=1;i<=10;i+結(jié)束源程序:#include<iostream> using namespace std; int main() int

15、 i,s=0,sum=0,n; for(i=1;i<=10;i+)n=2*i;sum+=n;s+=sum; cout<<"s="<<s<<endl; return 0; 運(yùn)行結(jié)果:  總結(jié): 在寫程序是需要理清楚每個(gè)變量之間的函數(shù)關(guān)系,特別注意在循環(huán)體中i是小于等于10的。8.從鍵盤輸入10個(gè)整數(shù),然后根據(jù)提示選擇輸入´A´或者´D´,如果輸入為´A´,將這10個(gè)數(shù)按從小到大的順序輸出;如果輸入為´D´,將這10個(gè)數(shù)按從大到小的順序輸

16、出。分析:因?yàn)槭禽斎?0個(gè)還不確定的整數(shù),所以可以肯定該題要用到數(shù)組的算法;然后因?yàn)橐x擇“A”或“B”來選擇不同的語句輸出,所以要用到選擇體結(jié)構(gòu);由于是排序輸出,可以調(diào)用函數(shù)用冒泡法來輸出。流程:1、先是兩個(gè)用到冒泡法的調(diào)用函數(shù),都是for語句的(以由小到大為例):int b,int n;int i=1,j=1;j<=n-1i<=n-1-jbi>bi+1t=bi;bi=bi+1;bi+1=t;j+;i+;FTFTFT這是一個(gè)調(diào)用函數(shù),其名稱為fun;另外一個(gè)調(diào)用函數(shù)inv與之原理相同,不過其判斷條件為if(ci<ci+1),變成了由大到小的排序。2、編寫主函數(shù),主函數(shù)

17、要用到選擇語句,如果輸入A則調(diào)用fun函數(shù),如果輸入B 則調(diào)用inv函數(shù);a結(jié)束開始a11cin>>Acin>>B調(diào)用inv()調(diào)用fun()源程序:#include<iostream>using namespace std;void fun(int b,int n) /輸入A時(shí),由小到大的排列int i,j,t;for(j=1;j<=n-1;j+)for(i=1;i<=n-1-j;i+)if(bi>bi+1)t=bi;bi=bi+1;bi+1=t;return;void inv(int c,int m) /輸入B時(shí),由大到小的排列int

18、i,j,p;for(j=1;j<=m-1;j+)for(i=1;i<=m-1-j;i+)if(ci<ci+1)p=ci;ci=ci+1;ci+1=p;return;int main() /主函數(shù)int a11;char A,B;cout<<"請輸入10個(gè)數(shù)字:n"for(int i=1;i<=10;i+)cin>>ai; cout<<"請輸入A或B:"if(cin>>A)fun(a,10);cout<<""for(i=1;i<=10;i+)cou

19、t<<ai<<"t"if(i%5=0)cout<<endl;return 0;if(cin>>B) inv(a,10); /調(diào)用inv函數(shù) cout<<"n從大到小的順序?yàn)椋簄" for(i=1;i<=10;i+) cout<<ai<<"t"if(i%5=0)cout<<endl; return 0;運(yùn)行結(jié)果: 公司印章管理制度一、目的 公司印章是公司對內(nèi)對外行使權(quán)力的標(biāo)志,也是公司名稱的法律體現(xiàn), 因此,必須對印章進(jìn)行規(guī)范化、合理化的嚴(yán)格管理,以保證公司各項(xiàng)業(yè)務(wù)的正常運(yùn)作,由公司指定專人負(fù)責(zé)管理。二、印章的種類1、 公章,是按照政府規(guī)定,由主管部門批準(zhǔn)刻制的代表公司權(quán)力的印章。2、 專用章,為方便工作專門刻制的用于某種特定用途的印章,如:合同專用章、財(cái)務(wù)專用章、業(yè)務(wù)專用章、倉庫簽收章等。 3、手章(簽名章),是以公司法人代表名字刻制的用于公務(wù)的印章。三、印章的管理規(guī)定1、 印章指定專人負(fù)責(zé)保管和使

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論