C語言程序設(shè)計-大作業(yè)修改版_第1頁
C語言程序設(shè)計-大作業(yè)修改版_第2頁
C語言程序設(shè)計-大作業(yè)修改版_第3頁
C語言程序設(shè)計-大作業(yè)修改版_第4頁
C語言程序設(shè)計-大作業(yè)修改版_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C語言程序設(shè)計--大作業(yè)[修改版]第一篇:C語言程序設(shè)計--大作業(yè)C語言程序設(shè)計大作業(yè)編寫程序,實現(xiàn)單鏈表的插入、刪除、輸出、查找、統(tǒng)計以及銷毀功能。單鏈表的每個結(jié)點存儲一名學(xué)生的信息,包括:學(xué)號、姓名、性別、年齡、三門課程(高數(shù)、英語、C語言)的成績、三門功課的平均分。結(jié)構(gòu)體類型聲明如下:typedefstructstudent{charsno[8];charname[20];charsex;intage;doublescore[3];doubleavg;structstudent*next;}STUDENT,*PSTUDENT;要求:⑴一律使用STUDENT聲明學(xué)生結(jié)構(gòu)體的變量,一律使用PSTUDENT聲明指向?qū)W生結(jié)構(gòu)體的指針變量⑵程序運行過程中要有菜單提示,菜單如下:****************************************************************1.Insertastudent**2.Deleteastudent**3.Displaythelinklist**4.DisplayexcellentstudentsC語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第1頁。**C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第1頁。5.Searchastudentbythename**6.Displaytheaveragescoreofthreecourses**0.Exittheprogram****************************************************************“Insertastudent”:插入一個學(xué)生記錄,要求按平均分從高到低插入“Deleteastudent”:刪除指定學(xué)號的學(xué)生“Displaythelinklist”:輸出單鏈表中所有學(xué)生的信息“Displayexcellentstudents”:輸出鏈表中三門功課平均成績高于85分(含85分)的學(xué)生信息“Searchastudentbythename”:根據(jù)輸入的姓名,輸出鏈表中相應(yīng)學(xué)生的信息“Displaytheaveragescoreofthreecourses”:輸出鏈表中所有學(xué)生的高數(shù)平均分、英語平均分以及C語言平均分“Exittheprogram”:銷毀單鏈表,結(jié)束程序運行第二篇:C語言程序設(shè)計《C語言程序設(shè)計》主要在計算機軟件、計算機網(wǎng)絡(luò)、計算機應(yīng)用、通信技術(shù)、智能電子、電子信息工程、多媒體以及核工程與核技術(shù)等專業(yè)中開設(shè),是電子信息類、機械類等工科專業(yè)的重要專業(yè)基礎(chǔ)課。本校從2001至今,每年都開設(shè)《C語言程序設(shè)計》課程,由于,我校最開始時的特殊情況,主要把重點放在C語言中的各類重點、難點的語法、語義上,使得學(xué)生經(jīng)過比較復(fù)雜和痛苦的過程后,對C語言在使用上很難做到自己編寫程序。而且很多學(xué)生產(chǎn)生了畏懼心理。2004年,學(xué)院成立計算機科學(xué)與技術(shù)系,為了更好學(xué)習(xí)和掌握C語言,計算機科學(xué)與技術(shù)專業(yè)和計算機維護專業(yè)(計算機應(yīng)用技術(shù)前身)除了開設(shè)《C語言程序設(shè)計》課程外,在后續(xù)一學(xué)期還開設(shè)了《C語言程序設(shè)計課程設(shè)計》,使得計算機專業(yè)學(xué)生編程思想和能力得到了極大提高。2005年,為了讓我院工科學(xué)生更好的掌握C語言編程以及通過四川省計算機二級考試,在《C語言程序設(shè)計》課程后設(shè)置《C語言程序設(shè)計課程設(shè)計》,極大地提高了學(xué)生的動手機會和能力,過級率顯著提高!2007年,依托我校建設(shè)精品課程的契機,我們將C語言中的各個知識點進行重新規(guī)整,提出適用于三本院校學(xué)生的語言設(shè)計學(xué)習(xí)的方法。我們提出,先了解C語言,再學(xué)習(xí)C語言,再用C語言的思想。即在開始時讓學(xué)生初步知道C語言,然后引入比較簡單的運算符以及基本輸入、輸出和簡單的順序結(jié)構(gòu)程序設(shè)計。通過這樣的方式,我們發(fā)現(xiàn),學(xué)生在C語言的學(xué)習(xí)就不會從開始的時候陷入大量難懂的語法、語義和數(shù)據(jù)結(jié)構(gòu)中。有了以上鋪墊再層層進入,最終進入復(fù)雜的各類數(shù)據(jù)結(jié)構(gòu)以及指針等學(xué)習(xí)。通過以上的內(nèi)容規(guī)整后,教學(xué)效果有明顯提高。第三篇:C語言程序設(shè)計C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第2頁。1.ProblemA:Helloworld!DescriptionXiao_ming有兩個哥哥,大哥叫Da_min,二哥叫Er_min。三兄弟放學(xué)回家,父母分別跟他們打招呼。C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第2頁。Input無Output請輸出:HelloDa_min,HelloEr_min,HelloXiao_ming!SampleInputSampleOutputHelloDa_min,HelloEr_min,HelloXiao_ming!HINT請注意換行符AppendCode#includeintmain(){printf("HelloDa_min,\n");printf("HelloEr_min,\n");printf("HelloXiao_ming!\n");}2.ProblemB:求圓的面積和周長Description從鍵盤輸入圓的半徑,求圓的面積和周長,圓周率取3.14。Input輸入一個浮點型數(shù)據(jù),有效數(shù)字不會超過十進制的6位。Output輸出為兩行。第一行為圓的面積,第二行為圓的周長,格式見sample。SampleInput3SampleOutputArea:28.260000Perimeter:18.840000HINT了解浮點類型的輸入、輸出和算術(shù)運算符AppendCode法一#includeintmain(){doubler,p,s;scanf("%lf",&r);p=2*3.14*r;s=3.14*r*r;printf("Area:%lf\n",s);printf("Perimeter:%lf\n",p);}法二#include#definepi3.14intmain(){doubler;scanf("%d",&r);printf("Area:%lf\n",pi*r*r);printf("Perimeter:%lf\n",2*pi*r);}C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第3頁。3.C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第3頁。ProblemC:平均值Description求3個數(shù)的平均值。Input輸入只有一行,為3個較小的整數(shù)。Output輸出為這3個整數(shù)的平均值,保留3位小數(shù)。SampleInput123SampleOutput2.000HINT注意除法運算對整型數(shù)據(jù)和浮點型數(shù)據(jù)是不一樣的。AppendCode#includeintmain(){inta,b,c;scanf("%d%d%d",&a,&b,&c);printf("%.3lf",(a+b+c)/3.0);}4.ProblemD:求字符的值Description從鍵盤輸入3個字符(不含雙字節(jié)字符),分別輸出每個字符的十進制值(ASCII碼)、八進制值和十六進制值。Input輸入為3個字符。Output輸出為3行。每一行為每個字符(對應(yīng)輸入順序)的十進制、八進制和十六進制值,用空格分隔開。每個輸出的值占3個字符,不足3個字符前面補0。SampleInput0ASampleOutput048060030032040020065101041HINT了解字符值的存儲和整型的關(guān)系。AppendCode#includeintmain(){chara,b,c;scanf("%c%c%c",&a,&b,&c);printf("%.3d%.3o%.3x\n",a,a,a);printf("%.3d%.3o%.3x\n",b,b,b);printf("%.3d%.3o%.3x\n",c,c,c);}5.ProblemA:最簡單的程序Description輸出一行“Helloworld!”。Input無OutputHelloworld!SampleInputSampleOutputHelloworld!HINTAppendCode#includeintmain(){printf("Helloworld!");}C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第4頁。6.ProblemB:算術(shù)基本運算Description計算兩整數(shù)x和y(0C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第4頁。Input輸入只有一行,格式見sample。Output輸出為多行,按順序每行輸出x,y的和、差、積、商、余數(shù)、x的平方和y的三次方,格式見sampleSampleInputx=11,y=3SampleOutputx+y:14xy:%d\n",x-y);printf("x*y:%d\n",x*y);printf("x/yquotient:%d,remainder:%d\n",x/y,x%y);printf("x^2:%d\n",x*x);printf("y^3:%d\n",y*y*y);}7.ProblemC:自增自減運算DescriptionC語言中有自增運算++、自減運算--,并且可以前置和后置。編寫一個程序:對輸入的一個整數(shù)a,輸出a++、a--、++a、--a的值。Input一個整數(shù)a,a是很小的整數(shù)。Output輸出為5行,第一行為a的值,后面依次為--a、a--、a++、++a的值。5行輸出縱向a要對齊,“:”對齊,“:”前后各一個空格,后面的數(shù)值不用對齊。每行行尾都有回車。SampleInput0SampleOutputa:0--a:-1a--:0a++:0++a:1HINTAppendCode#includeintmain(){inta,x;scanf("%d\n",&x);a=x;printf("a:%d\n",a);printf("--a:%d\n",--a);a=x;printf("a--:%d\n",a--);a=x;printf("a++:%d\n",a++);a=x;printf("++a:%d\n",++a);}8.ProblemF:絕對值Description求整型數(shù)據(jù)和浮點型數(shù)據(jù)的絕對值。Input輸入兩個數(shù),第一個是整數(shù),第二個是浮點數(shù)。Output輸出為兩行,第一行為整數(shù)的絕對值,第二行為浮點數(shù)的絕對值,注意浮點數(shù)的絕對值不輸出無意義的0。SampleInput-11C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第5頁。SampleOutput11C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第5頁。HINT求絕對值可以用標準庫函數(shù)來完成,也可以自己判斷。注意浮點數(shù)的輸出格式。求絕對值的函數(shù)在哪個頭文件?貌似很多人會搞錯,包括很多編書的人!AppendCode#include//#includeintmain(){intn;floatm;scanf("%d%f",&n,&m);//n=abs(n);//m=fabs(m);if(n{n=-n;}if(m{m=-m;}printf("%d\n",n);printf("%g",m);return0;}9.ProblemA:奇數(shù)還是偶數(shù)?Description輸入一個整數(shù),判讀它是奇數(shù)還是偶數(shù)。Input輸入只有一行,為一個100以內(nèi)的正整數(shù)。Output輸出為一行。若輸入為偶數(shù)則輸出“even”,奇數(shù)輸出“odd”。SampleInput30C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第6頁。SampleOutputevenC語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第6頁。HINT用整數(shù)運算可以解決,練習(xí)“?:”表達式。AppendCode#includeintmain(){intn;scanf("%d",&n);if(n>=0&&nif(n%2==0)printf("even\n");elseprintf("odd\n");}return0;}10.ProblemB:簡單的打折計算Description商店規(guī)定:消費滿n元,可以打八八折。設(shè)某件商品標價m元,輸入購買的件數(shù)x,計算出需要支付的金額(單位:元),精確到分。Input輸入只有一行,三個整數(shù)m、n和x,且0SampleInput953004SampleOutput334.40HINT了解浮點型的輸出控制,注意整型和浮點型混合運算過程中的數(shù)據(jù)類型轉(zhuǎn)換。AppendCode#includeintmain(){intm,x,n,a;floatb;scanf("%d%d%d",&m,&n,&x);0xma=m*x;C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第7頁。if(a>n)C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第7頁。b=0.88*a;elseb=a;printf("%.2f\n",b);}11.ProblemC:判斷閏年Description輸入一個正整數(shù)的年份,判斷是否為閏年。Input輸入只有一行,為一個10000以內(nèi)的正整數(shù)。Output輸出為一行。若輸入為閏年偶數(shù)則輸出“Yes”,否則輸出“No”。SampleInput2010SampleOutputNoHINT了解邏輯運算符和關(guān)系運算符。AppendCode#includeintmain(){intx;scanf("%d",&x);if(x>0&&x{if(x%4==0&&x%100!=0)printf("Yes\n");elseif(x%400==0)printf("Yes\n");elseprintf("No\n");C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第8頁。}C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第8頁。elseprintf("error");}12.ProblemD:水仙花數(shù)Description如果一個三位十進制數(shù)等于其各位數(shù)字的立方和,則稱這個數(shù)為水仙花數(shù)。如:13+53+33=153。Input一個整數(shù)x,100Outputx是水仙花數(shù),則輸出“YES”,否則為“NO”。SampleInput153SampleOutputYESHINTAppendCode#includeintmain(){inta,b,c,x;scanf("%d",&x);a=x/100;b=x/10%10;c=x%10;if(x==a*a*a+b*b*b+c*c*c)printf("Yes");elseprintf("No");}13.ProblemE:三個數(shù)比較大小Description從鍵盤上輸入0~100之間的三個數(shù),按從小到大的順序輸出。Input輸入只有一行,為三個整數(shù)。Output按從小到大輸出這三個數(shù)。SampleInput151020SampleOutput101520C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第9頁。HINT用if語句判斷各種情況可以解決這個問題。C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第9頁。AppendCode#includeintmain(){inta,b,c;scanf("%d%d%d",&a,&b,&c);if(a>=b){if(b>=c)printf("%d%d%d\n",c,b,a);elseif(c>=a)printf("%d%d%d\n",b,a,c);elseprintf("%d%d%d\n",b,c,a);}else{if(a>=c)printf("%d%d%d\n",c,a,b);elseif(b>=c)printf("%d%d%d\n",a,c,b);elseprintf("%d%d%d\n",a,b,c);}}14.ProblemF:奇怪的求和之一Description給定3個正整數(shù)a、b和c,按照如下規(guī)則求和:如果這個數(shù)字是偶數(shù),則累加到和中;C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第10頁。如果這個數(shù)字是奇數(shù),則將大于該數(shù)的最小偶數(shù)累加到和中。C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第10頁。Input三個正整數(shù),均在100以內(nèi)。Output一個和。SampleInput235SampleOutput12HINT如果不會使用分支語句,可使用條件運算符判斷到底將哪個數(shù)累積到和中。AppendCode#includeintmain(){inta,b,c;scanf("%d%d%d",&a,&b,&c);if(a%2!=0)a++;if(b%2!=0)b++;if(c%2!=0)c++;printf("%d\n",a+b+c);}15.ProblemG:你過線了嗎?Description經(jīng)過四年的學(xué)習(xí),你決定報考我國著名的“285”高校之一的北青大學(xué),經(jīng)過認真的復(fù)習(xí),殘酷的考試,終于知曉了自己的考試成績,也知道了北青大學(xué)的錄取分數(shù)線,請你編程判斷,自己過線了嗎?Input輸入有2行,第一行有4個正整數(shù),分別表示三門課程的分數(shù)線以及總分分數(shù)線。第二行有3個非負整數(shù),分別表示你考的三門課程的成績。Output如果你的三門課程成績都不低于相應(yīng)課程的分數(shù)線,且你的考試總分也不低于北青大學(xué)的總分分數(shù)線要求,則輸出“congratulations”,否則輸出“sorry”。SampleInput708070240808082SampleOutputcongratulationsHINT如果你不會使用分支語句,同樣可以使用條件運算符實現(xiàn)該程序。AppendCode#includeintmain(){inta,b,c,d,e,f,g,h;C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第11頁。scanf("%d%d%d%d\n%d%d%d",&a,&b,&c,&d,&e,&f,&g);C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第11頁。h=e+f+g;if(e>=a&&f>=b&&g>=c&&h>=d)printf("congratulations");elseprintf("sorry");}16.ProblemI:A+BProblem(II):Input/OutputPracticeDescription計算a+b,0Input輸入的第一行是一個整數(shù)N,后面有N對整數(shù)a和b,每對a和b占一行,a,b用空格分開。Output每行輸出一個a+b的和,順序與輸入對應(yīng)。SampleInput2121020SampleOutput330HINTN給出了測試樣例數(shù),用for循環(huán)處理方便。AppendCode#includeintmain(){intn,a,b,i;Scanf(“%d”,&n);For(i=0;i17.ProblemH:A+BProblemDescription計算a+b,0Input輸入有多對整數(shù)a和b組成,每對a和b占一行,a,b用空格分開。Output每行輸出一個a+b的值,順序與輸入對應(yīng)。SampleInput121020SampleOutput330HINTOJ系統(tǒng)上測試輸入結(jié)束符為EOF(EndOfFile),其值為-1。用scanf()把文件所有內(nèi)容讀完后,會讀到EOF,所以可以用來判斷輸入是否完成,測試時可以用Ctrl+Z產(chǎn)生EOF。本題解法參看FAQ。AppendCode#includeintmain(){inta,b;while(scanf("%d%d",&a,&b)!=EOF){C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第12頁。printf("%d\n",a+b);C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第12頁。}return0;}18.ProblemA:判斷是否是元音字母Description輸入一個英文字母,判斷是否是元音字母。元音字母是:a,e,i,ou,A,E,I,O,UInput輸入一個英文字母Output是元音字母,輸出“yes”,否則輸出“no”,行尾沒有回車。SampleInputASampleOutputyesHINTAppendCode#includevoidmain(){charch;scanf("%c",&ch);if(ch>='A'&&chch=ch+32;if(ch=='a')printf("yes");elseif(ch=='e')printf("yes");elseif(ch=='i')printf("yes");elseif(ch=='o')printf("yes");elseif(ch=='u')printf("yes");C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第13頁。elseC語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第13頁。printf("no");}19.ProblemB:按順序輸出三個數(shù)Description對于輸入的3個整數(shù),按照從小到大的順序輸出。Input輸入3個int類型內(nèi)的整數(shù),兩兩之間用一個空格隔開。Output按照從小到大的順序輸出上述三個數(shù),兩兩之間用一個空格隔開。SampleInput213SampleOutput123HINTAppendCode#includevoidmain(){inta,b,c,temp;scanf("%d%d%d",&a,&b,&c);if(a{temp=a;a=b;b=temp;}if(a{temp=a;a=c;c=temp;}if(b{C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第14頁。temp=b;C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第14頁。b=c;c=temp;}printf("%d%d%d\n",c,b,a);}20.ProblemE:Description判斷輸入整數(shù)的奇偶性。判斷奇偶數(shù)Input輸入為一個整數(shù)。Output輸出只有一行,代表判斷結(jié)果。如果輸入的整數(shù)n是一個偶數(shù),輸出:nisanevennumber.否則輸出:nisanoddnumber.見樣例。SampleInput12SampleOutput12isanevennumber.HINTAppendCode#includeintmain(){inta;scanf("%d",&a);if(a%2==0)printf("%disanevennumber.",a);elseprintf("%disanoddnumber.",a);}21.ProblemA:判斷兩個整數(shù)的大小關(guān)系Description輸入2個整數(shù)a和b,如果a>b,則輸出1,否則輸出0。Input兩個整數(shù)a和b,均不超過int類型的表示范圍。Output表示a>b的結(jié)果:如果a>b,則輸出1,否則輸出0。SampleInput34SampleOutput0C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第15頁。HINTC語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第15頁。AppendCode#includeintmain(){inta,b;scanf("%d%d",&a,&b);if(a>b)printf("1");elseprintf("0");return0;}22.ProblemD:成績的等級Description把百分制的考試成績轉(zhuǎn)換成五級制的成績:90~100:Excellent80~89:Good70~79:Average60~69:Pass0~59:Failing不在0~100之間的輸入是非法數(shù)據(jù),輸出“Error”。Input輸入多行,每行一個整數(shù)。Output輸入所對應(yīng)的成績等級。SampleInput-18192356872100SampleOutputErrorGoodExcellentFailingPassAverageExcellentHINT用switch語句解決這個問題比較方便。AppendCode#includeintmain(){intscore;while(scanf("%d",&score)!=EOF){if(score100)printf("Error\n");else{switch(score/10){case0:case1:case2:C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第16頁。case3:C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第16頁。case4:case5:printf("Failing\n");break;case6:printf("Pass\n");break;case7:printf("Average\n");break;case8:printf("Good\n");break;case9:case10:printf("Excellent\n");break;}}}return0;}23.ProblemE:輸出是m的倍數(shù)或n的倍數(shù)、但不是m和n的公倍數(shù)的數(shù)Description輸出1~k之間是m的倍數(shù)或n的倍數(shù)、但不是m和n的公倍數(shù)的數(shù),其中1Input輸入三個整數(shù),依次為k、m、n。Output從小到大輸出符合題意的所有整數(shù),兩數(shù)之間用一個空格分開。SampleInput1523SampleOutput23489101415HINT難點在于輸出格式的控制:空格在數(shù)的中間,學(xué)會用循環(huán)時邊界情況的特殊處理。AppendCode#includeintmain(){intk,m,n,a,i=1;scanf("%d%d%d",&k,&m,&n);if(ma=m;elsea=n;printf("%d",a);for(i=a+1;i}C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第17頁。if((i%m==0&&i%n!=0)||(i%n==0&&i%m!=0))C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第17頁。printf("%d",i);}return0;24.ProblemB:兩整數(shù)相加減Description計算a+b和a-b。Input輸入為一對整數(shù)a和b。a,b用空格分開。Output輸出a+b和a-b的計算結(jié)果,各占一行。SampleInput12SampleOutput3-1HINTAppendCode#includeintmain(){inta,b;scanf("%d%d",&a,&b);printf("%d\n",a+b);printf("%d\n",a-b);}25ProblemC:它滿足條件嗎?Description需要判斷給定的一個整數(shù)是否同時滿足如下三個條件:1.它是一個完全平方數(shù)。2.它是一個偶數(shù)。3.它是一個正數(shù)。注:若一個數(shù)能表示成某個自然數(shù)的平方的形式,則稱這個數(shù)為完全平方數(shù)。例如:0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361,400,441,484,529Input一個int范圍內(nèi)的整數(shù)。Output如果輸入的數(shù)字滿足條件,則輸出yes,否則輸出no。SampleInput100SampleOutputyesHINT注意邏輯表達式判斷三個條件的順序。如果你不會使用分支語句,同樣可以使用條件運算符實現(xiàn)該程序。庫函數(shù)sqrt()可以用于求一個數(shù)的平方根。AppendCode#include#includeintmain(){inta;scanf("%d",&a);if(a==sqrt(a)*sqrt(a)&&a%2==0&&a>0)printf("yes");elseprintf("no");}C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第18頁。26.ProblemF:多路分支Description編寫一個完整的程序,運行時向用戶提問"你考試考了多少分?(0-100)"接受輸入后判斷其等級并顯示出來等級:優(yōu):90C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第18頁。Input輸入任意一個整數(shù)分數(shù)值,顯示等級;再輸入任意一個整數(shù)分數(shù)值,顯示等級;....直到測試數(shù)據(jù)較充分,可輸入-1止。Output對任意輸入的分數(shù)值,輸出對應(yīng)的等級,直到輸入的數(shù)為-1時才退出運行.SampleInput10210090807060500-80-1SampleOutputgradmustbetween0and100優(yōu)優(yōu)良中中差差gradmustbetween0and100gradmustbetween0and100HINTAppendCode#includeintmain(){intx;while(scanf("%d",&x)!=EOF){if(x100)printf("gradmustbetween0and100\n");elseif(x>=90)printf("優(yōu)\n");elseif(x>=80)printf("良\n");elseif(x>=60)C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第19頁。printf("中\(zhòng)n");C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第19頁。elseif(x>=0)printf("差\n");}return0;}27ProblemD:有多少人?Description學(xué)校舉行運動會,如果全體學(xué)生按照3人一隊列隊,則多了1個人;如果按照4人一隊列隊,則多了2個人;如果按照5人一隊排隊,則多了3個人。請問這個學(xué)校有多少學(xué)生?Input一個int類型的正整數(shù)N,是學(xué)生人數(shù)的上界,即:該校學(xué)生數(shù)不超過N。Output所有可能的學(xué)生數(shù),每個數(shù)占一行。SampleInput200SampleOutput58118178HINTAppendCode#include#includeintmain(){intn,i;scanf("%d",&n);for(i==1;iprintf("%d\n",i);}return0;}28ProblemC:正負數(shù)各有幾個?Description輸入若干個整數(shù),求其中正數(shù)、負數(shù)的個數(shù)。Input輸入分為2行:第一行是一個數(shù)字N>0,表示下面有N個整數(shù)。第2行是N個整數(shù),都是int類型的。Output輸出所輸入的N個整數(shù)的正數(shù)個數(shù)和負數(shù)個數(shù),并用空格分開2個輸出。SampleInput1012345-1-2-3-4-5SampleOutput55HINT貌似還有一種叫做0的數(shù)。C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第20頁。AppendCode#includeintmain(){C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第20頁。intn,a,i,num1=0,num2=0;scanf("%d",&n);for(i=0;i{scanf("%d",&a);if(a>0)num1++;elseif(anum2++;}printf("%d%d\n",num1,num2);return0;}29ProblemA:A+BProblem(III):Input/OutputPracticeDescription計算a+b,0Input輸入有多對整數(shù)a和b組成,每對a和b占一行,a,b用空格分開。當測試樣為00時表示輸入結(jié)束,00不參與運算。Output每行輸出一個a+b的值,順序與輸入對應(yīng)。SampleInput12102000SampleOutput330HINT練習(xí)break的使用。AppendCode#includeintmain(){inta,b;while(scanf("%d%d",&a,&b)!=EOF){if(a!=0||b!=0)}C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第21頁。printf("%d\n",a+b);C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第21頁。elsebreak;return0;}30ProblemB:A+BProblem(IV):Input/OutputPracticeDescription計算a+b,0Input輸入有多對整數(shù)a和b組成,每對a和b占一行,a,b用空格分開。Output每行輸出一個a+b的值,順序與輸入對應(yīng)。每個格式樣例之間用一個空行分隔開。SampleInput1210201535SampleOutput33050HINT由于輸出的和比空行多一個,所以全部計算放在一個循環(huán)里是不行的,必須要特殊處理開頭或者結(jié)尾。AppendCode#includeintmain(){inta,b,n=0;while(scanf("%d%d",&a,&b)!=EOF){n++;if(n==1)printf("%d\n",a+b);elseprintf("\n%d\n",a+b);}return0;}31ProblemC:n個數(shù)的最大值和最小值Description找出n個數(shù)中最大的數(shù)和最小的數(shù),并將它們的值輸出出來。Input輸入為n+1個整數(shù),都在int類型范圍內(nèi)。這些數(shù)可能用若干空格或者換行符分隔開。輸入的第1個數(shù)為n,表示后續(xù)有n個數(shù)輸入。從輸入的第2個數(shù)開始,求出直到第n+1個數(shù)中最大的數(shù)和最小的數(shù)。Output輸出為兩行,格式見sample。SampleInput301-1C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第22頁。SampleOutputThemaximumnumberis1.Theminimumnumberis-1.C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第22頁。HINT分隔符是空格還是回車都是空白符,對scanf("%d")來說沒有區(qū)別;先讀入n,然后用for循環(huán)就很容易控制讀入n個數(shù)的過程。AppendCode#includeintmain(){intn,i,max,min;scanf("%d",&n);inta[n];for(i=0;iscanf("%d",&a[i]);max=a[0];min=a[0];for(i=0;i{if(maxmax=a[i];if(min>a[i])min=a[i];}printf("Themaximumnumberis%d.\n",max);printf("Theminimumnumberis%d.",min);return0;}32.ProblemD:求100以內(nèi)的素數(shù)Description素數(shù)是只能被1和自身整除的正整數(shù),根據(jù)數(shù)學(xué)定義1不是素數(shù)。素數(shù)也叫質(zhì)數(shù)。Input輸入為兩個整數(shù)m和n,滿足0Output從大到小輸出m~n之間的所有素數(shù),一個素數(shù)一行。如果m~n之間沒有素數(shù),則不輸出任何數(shù)。C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第23頁。輸出的所有數(shù)在兩行“=====”之間。C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第23頁。SampleInput212SampleOutput=====117532=====HINT利用素數(shù)的數(shù)學(xué)規(guī)律可以很容易的解出此題,題目給出的數(shù)據(jù)范圍是關(guān)鍵。AppendCode#include#includeintmain(){intm,n,i,j,k,t;scanf("%d%d",&m,&n);printf("=====\n");for(i=n;i>=m;i--){t=0;for(j=2;jif(i%j==0)t=1;if(t==0&&i>1)printf("%d\n",i);}printf("=====");return0;}33.ProblemE:是否構(gòu)成三角形?Description給出三個整數(shù),代表三條邊的長度,判斷這三條邊的長度是否能構(gòu)成一個三角形?Input第一行是n(1接下來有n行,每一行包含三個整數(shù),表示三個邊長(1Output如果三條邊能構(gòu)成三角形,輸出YES,否則輸出NOSampleInput312328720201SampleOutputNOYESYESHINTAppendCode#includeintmain(){inta,b,c,n,i;scanf("%d",&n);for(i=0;i{scanf("%d%d%d",&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a)printf("YES\n");elseprintf("NO\n");}return0;}34.ProblemC:簡單的整數(shù)排序Description對給出的若干整數(shù)按從小到大排序。Input輸入的第一個數(shù)為n(nC語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第24頁。Output按從小到大的順序輸出這些整數(shù),每兩個整數(shù)之間用一個空格分隔開,最后一個整數(shù)后面沒有空格。C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第24頁。SampleInput103915285673SampleOutput1233556789HINT排序前必須把所有的整數(shù)都存儲下來。因為只有最多1000個數(shù),1秒的時間足夠任何排序算法運行處結(jié)果來。AppendCode#includeintmain(){intc,i,n,j;inta[1000];scanf("%d",&n);for(i=0;iscanf("%d",&a[i]);for(i=1;i{for(j=0;j{if(a[j]>a[j+1]){c=a[j];a[j]=a[j+1];a[j+1]=c;}}}printf("%d",a[0]);C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第25頁。for(i=1;iC語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第25頁。printf("%d",a[i]);return0;}35.ProblemA:Description購物的路程Saya和Kudo一起去購物。假定她們逛的街是一條直線,而商鋪是這條直線上的一些點。她們將車停在該直線最左端的店鋪處,然后從左向右開始逛每一個店鋪,然后從最右邊的店鋪再返回到停車處。你的任務(wù)是計算她們走了多少路。Input輸入有多組。每一組的第一行是N(0Output對每組輸入,輸出她們走的路長。SampleInput4241389376730411439420SampleOutput15270HINTAppendCode#includeintmain(){intn,i,max,min,a[100001];while(scanf("%d",&n)&&n!=0){scanf("%d",&a[0]);min=max=a[0];for(i=1;i{scanf("%d",&a[i]);if(a[i]>max)max=a[i];if(a[i]min=a[i];C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第26頁。}C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第26頁。printf("%d\n",(max-min)*2);}return0;}36.ProblemB:求累加和Description編程求min~max的累加和(含min和max),其中max>=min>0。部分程序已經(jīng)給出,請?zhí)畛淦渲械目瞻渍Z句,并提交填充后的完整程序。Input輸入為多行。第一行是一個整數(shù)N>0,表示后面有N個測試用例。后面有N行,每行包含2個整數(shù),分別是min和max。Output輸出為N行,每個測試用例的計算結(jié)果占據(jù)一行。每行的格式為:casei:sum=s.其中i表示測試用例的編號(從1開始),s是該測試用例對應(yīng)的累加和(設(shè)不超過int的表示范圍)。SampleInput3110110011SampleOutputcase1:sum=55.case2:sum=5050.case3:sum=1.HINTAppendCode#includeintmain(){intn,i,j,max,min,sum;scanf("%d",&n);for(i=0;i{sum=0;scanf("%d%d",&min,&max);if(max==min)printf("case%d:sum=%d.\n",i+1,min);else{for(j=min;jsum=sum+j;printf("case%d:sum=%d.\n",i+1,sum);}C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第27頁。}return0;}37.ProblemG:順序輸出字母Description按字母順序輸出兩個字母st和ed之間的所有字母,但不包括st和ed。不輸出逆序。C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第27頁。Input兩個字母st和ed,都是大寫字母,用一個空格分開。Output在一行內(nèi)按順序輸出st和ed之間的所有字母,但不包括st和ed。例如:輸入為A和E,則輸出為BCD;輸入為A和B,則什么字母也不輸出,只有一個空行;輸入為E和A,也是什么字母也不輸出,只有一個空行。最后要輸出一行(行尾不回車):***END***SampleInputACSampleOutputB***END***HINTAppendCode#includeintmain(){charst,ed,a;inti;scanf("%c%c%c",&st,&a,&ed);{for(i=st+1;iprintf("%c",i);printf("\n***END***");}return0;}38.ProblemF:單字母變換DescriptionTom和Jack是密碼學(xué)愛好者,他們在聊天時經(jīng)常使用一些暗語。他們使用的一種最簡單的暗語是:將要說的每句話里面的英文字母變成這個字母之后的某個字母?,F(xiàn)在要求你寫一個程序,將一個字母變成它之后的某個字母。Input輸入有2個:一個大寫字母c和一個正整數(shù)d(0Output輸出字母c之后的第d個字母。大小寫與c一致。如果c之后的某個字母已經(jīng)超出'Z',則再從字母'A'開始計數(shù)。C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第28頁。如:c='A',d=3,則輸出應(yīng)為:D。若:c='Y',d=3,則輸出應(yīng)為:B。C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第28頁。SampleInputA3SampleOutputDHINTAppendCode#includeintmain(){charc;intd;scanf("%c%d",&c,&d);if(c+dprintf("%c",c+d);elseprintf("%c",c+d-26);return0;}39.ProblemB:登錄密碼驗證Description編寫一個程序,模擬用戶登錄系統(tǒng)的密碼驗證過程。系統(tǒng)提供給用戶的密碼長度最長為20個字符,若密碼輸入錯誤可以再次輸入。但為了保證用戶密碼安全,若連續(xù)輸入密碼錯誤超過5次就會鎖定賬號一段時間。Input輸入為若干個串,至EOF結(jié)束。輸入的第一個串是用戶的正確密碼,后面的串為模擬用戶登錄時的輸入的密碼。Output每次輸入錯誤的密碼,輸出一個“Wrong!”,若輸入的密碼為正確的,輸出一個“Welcome!”,并結(jié)束密碼測試。若前5次輸入的密碼都是錯誤的,則后面的輸入中不管是否有正確的密碼都輸出“Outoflimited!”。SampleInputabcdefg123456kkkkkkkkabcdefgSampleOutputWrong!Wrong!Welcome!HINT輸入可以用scanf("%s")處理,密碼比較用字符串的比較可以完成。AppendCode#include#includeintmain(){chara[20],b[20];C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第29頁。inti,j=1;C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第29頁。scanf("%s",a);while(scanf("%s",b)!=EOF){if(j{if((strcmp(a,b)==0)){printf("Welcome!\n");break;}elseprintf("Wrong!\n");j++;}elseprintf("Outoflimited!\n");}}40.ProblemC:兔子的繁殖問題Description假設(shè)一對兔子每月能生一對小兔(一雌一雄),每對小兔出生后的下一個月是沒有繁殖能力的,至出生后的第三個月開始又可以每月生一隊小兔,問從一對剛出生的小兔開始,經(jīng)過若干個月后一共有多少兔子(假設(shè)在此過程中兔子沒有死亡)?這個問題是意大利數(shù)學(xué)家菲波那契(Fibonacci)在他1202年出版的《算盤全書》中提出來的,從第一對剛出生的小兔開始每月的兔子數(shù)被乘坐菲波那契序列。Input輸入的第一個數(shù)為n,接下來有n個數(shù)字。每個數(shù)字為一個月份m(mOutput輸出為n行,每行為第m個月后的兔子總數(shù)。第四篇:華師在線C語言程序設(shè)計作業(yè)C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第30頁。C語言程序設(shè)計C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第30頁。1.完成一個大小寫字母自動轉(zhuǎn)換的程序,輸入大寫字母,程序可以輸出小寫字母,sum+=i;i++;}while(iintmain(){charstr[10];inti=0;gets(str);while(str[i]){if(str[i]>='a'&&str[i]='A'&&str[i]2.用三種循環(huán)方式實現(xiàn)1-100的和計算(提示:do...while,while,for)dowhile循環(huán):#includeintmain(){inti=1;intsum=0;do{printf("sum=%d",sum);printf("\n");}while循環(huán):#includeintmain(){inti=1;intsum=0;while(isum+=i;i++;}printf("sum=%d",sum);printf("\n");}for循環(huán):#includeintmain(){inti,sum;for(i=1,sum=0;isum+=i;}printf("sum=%d",sum);printf("\n");}3.說說數(shù)組和指針的區(qū)別1、指針的本質(zhì)是一個與地址相關(guān)的復(fù)合類型,它的值是數(shù)據(jù)存放的位置(地址);數(shù)組的本質(zhì)則是一系列的變量。2、數(shù)組名對應(yīng)著(而不是指向)一塊內(nèi)存,其地址與容量在生命期內(nèi)保持不變,只有數(shù)組的內(nèi)容可以改變。指針可以隨時指向任意類型的內(nèi)存塊,它的特征是“可變”,所以我們常用指針來操作動態(tài)內(nèi)存。3、當數(shù)組作為函數(shù)的參數(shù)進行傳遞時,該數(shù)組自動退化為同類型的指針。數(shù)組名可以當作一個指針來用,數(shù)組名可以用*取其中的值,指針也可以用[]解引用,但它們還是有一些區(qū)別指針可以隨時指向任意類型的內(nèi)存塊,它的特征是“可變”,所以我們常用指針來操作動態(tài)內(nèi)存。指針遠比數(shù)組靈活,但也更危險。4.用指針實現(xiàn)一個字符串輸入,然后把輸入字符串倒序輸出的程序#include#includevoidmain(){charstr[100],*p;intlen;printf("輸入一個字符串!\n");gets(str);C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第31頁。len=strlen(str);p=str+len-1;C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第31頁。printf("\n變化后得:\n");while(p>=str){printf("%c",*p);p--;}printf("\b\n");}第五篇:VB語言程序設(shè)計-在線作業(yè)_C答案VB語言程序設(shè)計-在線作業(yè)_C用戶名:W310201132227最終成績:100.0一單項選擇題1.當一個工程含有多個窗體時,其中的啟動窗體是()。窗體最后一個添加的窗體第一個添加的窗體啟動VisualBasic時建立的窗體本題分值:5.0用戶得分:5.0用戶解答:在“工程屬性”對話框中指定的窗體知識點:2.在窗體上面畫一個名稱為Text1的文本框,然后編寫如下的事件過程:PrivateSubText1_KeyPress(KeyAsciiAsInteger)......EndSub若焦點位于文本框中,則能夠觸發(fā)KeyPress事件的操作是()。按下鍵盤上的某個鍵雙擊文本框鼠標滑過文本框單擊鼠標本題分值:5.0用戶得分:5.0在“工程屬性”對話框中指定的用戶解答:按下鍵盤上的某個鍵知識點:3.為了裝入一個VB應(yīng)用程序,應(yīng)當()。C語言程序設(shè)計--大作業(yè)[修改版]全文共36頁,當前為第32頁。只裝入窗體文件(.frm)只裝入工程文件(.vbp)分別裝入工程文件、窗體文件

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論