C語(yǔ)言程序設(shè)計(jì)上機(jī)習(xí)題答案華南農(nóng)業(yè)大學(xué)_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)上機(jī)習(xí)題答案華南農(nóng)業(yè)大學(xué)_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)上機(jī)習(xí)題答案華南農(nóng)業(yè)大學(xué)_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)上機(jī)習(xí)題答案華南農(nóng)業(yè)大學(xué)_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)上機(jī)習(xí)題答案華南農(nóng)業(yè)大學(xué)_第5頁(yè)
已閱讀5頁(yè),還剩48頁(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)介

1、C語(yǔ)言程序設(shè)計(jì)上機(jī)實(shí)驗(yàn)指導(dǎo)與習(xí)題參考答案華南農(nóng)業(yè)大學(xué)上機(jī)實(shí)驗(yàn)實(shí)驗(yàn)1C語(yǔ)言程序初步一、實(shí)驗(yàn)?zāi)康模?1)了解所用的計(jì)算機(jī)系統(tǒng)的基本操作方法,學(xué)會(huì)獨(dú)立使用該系統(tǒng)。( 2)了解在該系統(tǒng)上如何編輯、編譯、連接和運(yùn)行一個(gè)C程序。( 3)通過(guò)運(yùn)行簡(jiǎn)單的C程序,初步了解C程序的特點(diǎn)。( 4)在教師的指導(dǎo)下,學(xué)會(huì)使用JudgeOnline實(shí)驗(yàn)系統(tǒng)。二、實(shí)驗(yàn)內(nèi)容1. 運(yùn)行第一個(gè)C程序題目:ThefirstCProgram將下列程序輸入TC(或VC+),編譯、連接和運(yùn)行該程序。voidmain()printf("ThefirstCProgramn");具體操作步驟以TurboC上的操作為例( 1

2、)Windows進(jìn)入后,按照第一章中介紹的方法,進(jìn)入TurboC。( 2)在編輯窗口中輸入程序。( 3)保存程序,取名為a1.c。( 4)按照第一章中介紹的方法,編譯、連接和運(yùn)行程序。2. 在JudgeOnline系統(tǒng)中提交實(shí)現(xiàn)了計(jì)算a+b功能的程序題目1001:計(jì)算a+b由鍵盤輸入兩個(gè)整數(shù),計(jì)算并輸出兩個(gè)整數(shù)的和。實(shí)現(xiàn)該功能的程序如下,voidmain()inta,b;scanf("%d%d",&a,&b);printf("%d",a+b);1 )在程序編輯窗口中輸入程序。2 )保存程序,取名為a2.c。3)按照前二章中介紹的方法,編譯

3、、連接和運(yùn)行程序。4)在程序運(yùn)行過(guò)程中,輸入1530/(/表示輸入回車符)5 )如果看到如下輸出結(jié)果,則表明15+30的結(jié)果正確,如果得不到如下結(jié)果,則需檢查并更正程序。456 )按照第三章中介紹的方法進(jìn)入JudgeOnline實(shí)驗(yàn)系統(tǒng)。7)顯示題目列表,點(diǎn)擊題號(hào)為1001,題名為“計(jì)算a+b”的題目。8 )查看完題目要求后,點(diǎn)擊頁(yè)面下端的“sumbit”,參照第二章提交程序的方法提交程序a2.c(9)查看評(píng)判結(jié)果,如果得到“accepted”則該題通過(guò),否則返回第一步檢查程序是否正確。5實(shí)驗(yàn)2基本數(shù)據(jù)類型、運(yùn)算和表達(dá)式一、實(shí)驗(yàn)?zāi)康?1)掌握c語(yǔ)言數(shù)據(jù)類型,熟悉如何定義一個(gè)整型和實(shí)型的變量,以

4、及對(duì)它們賦值的方法。(2)掌握不同的類型數(shù)據(jù)之間賦值的規(guī)律。+)和自減(-)運(yùn)(3)學(xué)會(huì)使用C的有關(guān)算術(shù)運(yùn)算符,以及包含這些運(yùn)算符的表達(dá)式,特別是自加(算符的使用。(4)進(jìn)一步熟悉C程序的編輯、編譯、連接和運(yùn)行的過(guò)程。、實(shí)驗(yàn)內(nèi)容1.變量的定義題目1117:變量定義,按要求完成程序下面給出一個(gè)可以運(yùn)行的程序,但是缺少部分語(yǔ)句,請(qǐng)按右邊的提示補(bǔ)充完整缺少的語(yǔ)句voidmain()inta,b;/*定義整型變量a和b*/inti,j;/*定義實(shí)型變量i和j*/a=5;b=6;i=3.14;j=i*a*b;printf("a=%d,b=%d,i=%f,j=%fn",a,b,i,j)

5、;具體操彳步驟(1)將代碼補(bǔ)充完整;(2)在TC或VC+上運(yùn)行通過(guò);(3)在JudgeOnline實(shí)驗(yàn)系統(tǒng)上提交;2.賦值表達(dá)式與賦值語(yǔ)句題目1118:賦值表達(dá)式與賦值語(yǔ)句,寫出程序運(yùn)行結(jié)果閱讀下面程序,寫出運(yùn)行結(jié)果:voidmain()floata;intb,c;chard,e;a=3.5;b=a;c=330;d=c;e=''printf("%f,%d,%d,%c,%c",a,b,c,d,e);運(yùn)行結(jié)果為:3.500000,3,330,J,提示賦值語(yǔ)句具有類型轉(zhuǎn)換的功能,但可能會(huì)改變數(shù)據(jù)。3.基本運(yùn)算題目1119:基本運(yùn)算,寫出程序運(yùn)行結(jié)果閱讀下面程序,寫

6、出運(yùn)行結(jié)果:voidmain()inta,b,c;floatd=15,e,f;a=35%7;b=15/10;c=b+;e=15/10;f=d/10;printf("%d,%d,%d,%f,%f,%f",a,b,c,d,e,f);運(yùn)行結(jié)果為:0,2,1,15.000000,1.000000,1.500000提示除法分整除與普通除法之分。實(shí)驗(yàn)3基本輸入與輸出一、實(shí)驗(yàn)?zāi)康?)熟練掌握putchar、getchar、printf、scanf函數(shù)的使用方法。2)掌握各種類型數(shù)據(jù)的輸入輸出的方法,能正確使用各種格式轉(zhuǎn)換符。二、實(shí)驗(yàn)內(nèi)容題目1126:字符的輸入與輸出編程實(shí)現(xiàn)由鍵盤輸入一個(gè)

7、字符后,在屏幕上輸出該字符。第一組自測(cè)數(shù)據(jù)第二組自測(cè)數(shù)據(jù)鍵盤輸入鍵盤輸入a/+/正確輸出正確輸出a+參考程序:#include"stdio.h"main()charch;ch=getchar();putchar(ch);題目1127:計(jì)算加法編程實(shí)現(xiàn)由鍵盤輸入一個(gè)加法式,輸出正確的結(jié)果。(兩個(gè)加數(shù)均為整數(shù))第一組自測(cè)數(shù)據(jù)第二組自測(cè)數(shù)據(jù)鍵盤輸入鍵盤輸入10+20/-15+60/正確輸出正確輸出3045參考程序:#include"stdio.h"main()inta,b;scanf("%d%*c%d",&a,&b);pri

8、ntf("%d",a+b);題目1014:求圓面積由鍵盤輸入圓半徑r,請(qǐng)計(jì)算該圓的面積。(注:冗取3.14159,結(jié)果保留兩位小數(shù)位;另外,程序只要能對(duì)r在0到10000范圍的情況輸出正確答案即可)第一組自測(cè)數(shù)據(jù)鍵盤輸入65.2/鍵盤輸入正確輸出11.2/13355.02正確輸出第二組自測(cè)數(shù)據(jù)394.08提示結(jié)果保留兩位小數(shù)可采用printf函數(shù)的格式控制字符來(lái)實(shí)現(xiàn)。參考程序:#include"stdio.h"main()floatarea,r;scanf("%f",&r);area=3.14159*r*r;printf(&q

9、uot;%0.2f",area);9題目1015:計(jì)算攝氏溫度值從鍵盤輸入一個(gè)華氏溫度值,要求按格式輸出其對(duì)應(yīng)的攝氏溫度值,精確到小數(shù)點(diǎn)后兩位。數(shù)學(xué)公式描述為:C5(F32)9第二組自測(cè)數(shù)據(jù)鍵盤輸入100/正確輸出37.78第一組自測(cè)數(shù)據(jù)鍵盤輸入100/正確輸出37.78提示注意公式中的除為普通除法參考程序:#include<stdio.h>voidmain()floatf,c;scanf("%f",&f);c=5.0/9*(f-32);printf("%.2f",c);實(shí)驗(yàn)4選擇結(jié)構(gòu)程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康模?)了解C語(yǔ)言表示

10、邏輯的方法(以0代表“假”,以非0代表“真”)。(2)學(xué)會(huì)正確使用邏輯運(yùn)算符和邏輯表達(dá)式。(3)熟練掌握if語(yǔ)句和switch語(yǔ)句。(4)結(jié)合程序掌握一些簡(jiǎn)單的算法。二、實(shí)驗(yàn)內(nèi)容題目1120:判斷點(diǎn)是否在圓上由鍵盤輸入一個(gè)點(diǎn)的坐標(biāo),要求編程判斷這個(gè)點(diǎn)是否在單位圓上,點(diǎn)在圓上輸出Y,不在圓上輸出N。使用小數(shù)點(diǎn)后3位精度進(jìn)行判斷。第一組自測(cè)數(shù)據(jù)第二組自測(cè)數(shù)據(jù)鍵盤輸入鍵盤輸入0.707,0.707/0.5,0.5/正確輸出正確輸出YN提示(1)平面上的點(diǎn)與圓的關(guān)系分為在圓內(nèi)、在圓上、在圓外三種,本題要求判斷是否在圓上;(2)判斷兩實(shí)數(shù)相等采用判斷這兩實(shí)數(shù)的差的絕對(duì)值小于規(guī)定誤差精度(本題為0.001

11、)的方法實(shí)現(xiàn)。參考程序:#include"stdio.h"#include"math.h"voidmain()floata,b;scanf("%f,%f",&a,&b);if(fabs(a*a+b*b-1)1e-3)printf("Yn");elseprintf("Nn");題目1017:求數(shù)的位數(shù)由鍵盤輸入一個(gè)不多于9位的正整數(shù),要求輸出它是幾位數(shù)。第一組自測(cè)數(shù)據(jù)第二組自測(cè)數(shù)據(jù)鍵盤輸入鍵盤輸入349213/10000/正確輸出正確輸出65提示劃定一位數(shù)、二位數(shù)、九位數(shù)的范圍,然

12、后用ifelseifelse語(yǔ)句實(shí)現(xiàn)判斷。參考程序:main()intn,place;scanf("%ld",&n);if(n>99999999)place=9;elseif(n>9999999)place=8;elseif(n>999999)place=7;elseif(n>99999)place=6;elseif(n>9999)place=5;elseif(n>999)place=4;elseif(n>99)place=3;elseif(n>9)place=2;elseplace=1;printf("%l

13、dn",place);題目1018:數(shù)的排序由鍵盤輸入三個(gè)整數(shù)a、b、c,按從小到大的順序輸出這三個(gè)數(shù)。第二組自測(cè)數(shù)據(jù)鍵盤輸入9,6,3/正確輸出3,6,9第一組自測(cè)數(shù)據(jù)鍵盤輸入65,45,90/正確輸出45,65,90參考程序:#include<stdio.h>main()inta,b,c,t;scanf("%d,%d,%d",&a,&b,&c);if(a>b)t=a;a=b;b=t;if(a>c)t=a;a=c;c=t;if(b>c)t=b;b=c;c=t;printf("%d,%d,%d&quo

14、t;,a,b,c);題目1016:字符變換由鍵盤輸入5個(gè)字符,將其中的大寫字母變成小寫,其它類型的字符不變,并按輸入順序逐個(gè)輸出。第一組自測(cè)數(shù)據(jù)第二組自測(cè)數(shù)據(jù)鍵盤輸入鍵盤輸入ApPLe/a+B=5/正確輸出正確輸出applea+b=5提示下面代碼實(shí)現(xiàn)由鍵盤讀入一個(gè)字符,并按題意處理后輸出chara;a=getchar();if(a>='A'&&a<='Z')a=a+32;putchar(a);現(xiàn)在,題目要求處理5個(gè)字符,怎么做呢?請(qǐng)自己思考參考程序:#include<stdio.h>main()chara,b,c,d,e;

15、scanf("%c%c%c%c%c",&a,&b,&c,&d,&e);if(a<='Z'&&a>='A')a=a+32;if(b<='Z'&&b>='A')b=b+32;if(c<='Z'&&c>='A')c=c+32;if(d<='Z'&&d>='A')d=d+32;if(e<='Z

16、'&&e>='A')e=e+32;printf("%c%c%c%c%c",a,b,c,d,e);題目1019:數(shù)的整除由鍵盤輸入5個(gè)整數(shù),逐個(gè)判斷它們能否被27整除,能的輸出輸出時(shí),一個(gè)判斷結(jié)果占一行,5個(gè)數(shù)的判斷共占5行)。YES”,不能的輸出“NO”(注意,第一組自測(cè)數(shù)據(jù)鍵盤輸入8271757732554/正確輸出NOYESYESNOYES提示整除即除得余數(shù)為0參考程序:#include"stdio.h"main()inta,b,c,d,e;scanf("%d%d%d%d%d",&am

17、p;a,&b,&c,&d,&e);if(a%27=0)printf("YESn");elseprintf("NOn");if(b%27=0)printf("YESn");elseprintf("NOn");if(c%27=0)printf("YESn");elseprintf("NOn");if(d%27=0)printf("YESn");elseprintf("NOn");if(e%27=0)print

18、f("YESn");elseprintf("NOn");第二組自測(cè)數(shù)據(jù)鍵盤輸入8271757732554/正確輸出NOYESYESNOYES題目1020:正負(fù)奇偶判斷由鍵盤輸入非零整數(shù)x,判斷該數(shù)正負(fù),正數(shù)輸出偶性,奇數(shù)輸出odd,偶數(shù)輸出even。第一組自測(cè)數(shù)據(jù)鍵盤輸入-43/正確輸出positive,負(fù)數(shù)輸出negative,接著判斷該數(shù)的奇negativeodd第二組自測(cè)數(shù)據(jù)鍵盤輸入98/正確輸出參考程序:#include"stdio.h"main()intn;scanf("%d",&n);if(n&

19、lt;0)printf("negative'n");elseprintf("positiven");if(n%2=0)printf("even'n");elseprintf("odd'n");positiveeven題目1023:簡(jiǎn)單計(jì)算器下面程序是實(shí)現(xiàn)一個(gè)簡(jiǎn)單的運(yùn)算器(保留兩位小數(shù)點(diǎn)),如果由鍵盤輸入果60.00;如果輸入8*6,計(jì)算機(jī)輸出48.00;如果輸入20/4,計(jì)算機(jī)輸出輸出2.00,請(qǐng)?jiān)诳仗幪钌线m當(dāng)?shù)拇a,運(yùn)行通過(guò)后并提交。10+50,計(jì)算機(jī)可以輸出結(jié)5.00;如果輸入8-6,計(jì)

20、算機(jī)#include"stdio.h"voidmain()floata,b,c;charop;scanf("%f%c%f",);switch(op)case'+':;case'-':;case'/':;default:printf("error");return;printf("result=",c);第一組自測(cè)數(shù)據(jù)鍵盤輸入45*2/正確輸出第二組自測(cè)數(shù)據(jù)鍵盤輸入50.1-23/正確輸出9027.10參考程序:#include<stdio.h>intmai

21、n()floata,b,c;charop;scanf("%f%c%f",&a,&op,&b);switch(op)case'+':c=a+b;break;case'-':c=a-b;break;case'*':c=a*b;break;case'/':c=a/b;break;default:printf("error");break;printf("result=%.2f",c);42513第二組自測(cè)數(shù)據(jù)鍵盤輸入8/正確輸出40320第二組自測(cè)數(shù)據(jù)鍵

22、盤輸入5/正確輸出實(shí)驗(yàn)5循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(一)一、實(shí)驗(yàn)?zāi)康?)熟悉掌握用while語(yǔ)句、do-while語(yǔ)句和for語(yǔ)句實(shí)現(xiàn)循環(huán)的方法。2)掌握在程序設(shè)計(jì)中用循環(huán)實(shí)現(xiàn)一些常用算法(如窮舉、迭代、遞推等)。、實(shí)驗(yàn)內(nèi)容題目1024:計(jì)算階乘輸入正整數(shù)n,計(jì)算n!,結(jié)果用長(zhǎng)整型數(shù)表示(注n!=1*2*3*n)第一組自測(cè)數(shù)據(jù)鍵盤輸入5/正確輸出120參考程序:#include<stdio.h>main()longi,n=1,a;scanf("%ld",&a);for(i=1;i<=a;i+)n=n*i;printf("%ldn",n);

23、題目1025:計(jì)算數(shù)列和有數(shù)列1,3,5,7,9,11,現(xiàn)要求由鍵盤輸入n,計(jì)算輸出該數(shù)列的前n項(xiàng)和。第一組自測(cè)數(shù)據(jù)鍵盤輸入2/正確輸出參考程序:#include<stdio.h>main()longn,sum=0,i,t=1;scanf("%ld",&n);for(i=1;i<=n;i+)sum=sum+t;t=t+2;printf("%ldn",sum);或#include<stdio.h>main()longn,sum;scanf("%ld",&n);sum=n*n;printf(&

24、quot;%ld",sum);注:評(píng)判系統(tǒng)不對(duì)程序?qū)崿F(xiàn)細(xì)節(jié)進(jìn)行分析,只對(duì)運(yùn)行結(jié)果進(jìn)行評(píng)測(cè)。題目1026:累加一行字符中的數(shù)字由鍵盤輸入一行字符(總字符個(gè)數(shù)從1個(gè)至80個(gè)均有可能,以回車符表示結(jié)束),將其中每個(gè)數(shù)字字符所代表的數(shù)值累加起來(lái),輸出結(jié)果。第一組自測(cè)數(shù)據(jù)第二組自測(cè)數(shù)據(jù)鍵盤輸入鍵盤輸入abcl23/A6H7T+6g正確輸出正確輸出624提示(1)可以使用下面程序段逐個(gè)讀入鍵盤輸入的一行字符charch;while(ch=getchar()!='n')(2)數(shù)字字符轉(zhuǎn)為對(duì)應(yīng)的數(shù)值可用a=ch-'0'參考程序:#include<stdio.h&

25、gt;main()charc;ints=0,a;while(c=getchar()!='n')if(c>='0'&&c<='9')a=c-48;s=s+a;printf("%d",s);題目1029:求最大公約數(shù)由鍵盤輸入兩個(gè)正整數(shù)m、n(m、n用長(zhǎng)整數(shù)表示),計(jì)算它們的最大公約數(shù)。第一組自測(cè)數(shù)據(jù)第二組自測(cè)數(shù)據(jù)鍵盤輸入鍵盤輸入16,24/17,25/正確輸出正確輸出81提示公約數(shù)是既能整除m又能整除n的數(shù),題目要求滿足這一條件的最大的一個(gè)。參考程序:#include<stdio.h>ma

26、in()longr,m,n,temp;scanf("%ld,%ld",&m,&n);while(m!=0)r=n%m;n=m;m=r;printf("%ldn",n);或#include<stdio.h>main()longm,n,t,i,s;scanf("%ld,%ld",&m,&n);t=m>n?n:m;for(i=t-1;i>=1;i-)if(m%i=0&&n%i=0)s=i;break;printf("%d",s);1 個(gè)至 80 個(gè)均

27、有可能,以回車符表示結(jié)束),將其中的大寫字題目1030:字符變換由鍵盤輸入一個(gè)句子(總字符個(gè)數(shù)從符變成小寫(其它類型的字符不變),最后輸出變換后的句子。第一組自測(cè)數(shù)據(jù)第二組自測(cè)數(shù)據(jù)鍵盤輸入鍵盤輸入HowAreYou?/ThiSISMyfIrStCProgrAm!/正確輸出正確輸出howareyou?thisismyfirstcprogram!#參考程序:#include<stdio.h>main()515charc;while(c=getchar()!='n')if(c>='A'&&c<='Z')c=c+3

28、2;putchar(c);題目1037:計(jì)算數(shù)列和有數(shù)列:2_3_5813211235813編程實(shí)現(xiàn),由鍵盤輸入n,計(jì)算輸出數(shù)列前n項(xiàng)和。(結(jié)果保留四位小數(shù))第一組自測(cè)數(shù)據(jù)鍵盤輸入第二組自測(cè)數(shù)據(jù)鍵盤輸入20/30/正確輸出32.6603參考程序:正確輸出88.0403#include<stdio.h>main()inti,t,n;floata=2,b=1,s=0;scanf("%d",&n);for(i=1;i<=n;i+)s=s+a/b;t=a;a=a+b;b=t;printf("%.4fn",s);題目1044:輸出最小值從

29、鍵盤輸入十個(gè)整數(shù),輸出最小值自測(cè)數(shù)據(jù)鍵盤輸入1245768758743559921/正確輸出參考程序:#include"stdio.h"main()inti,t,min;scanf("%d",&min);for(i=1;i<10;i+)scanf("%d",&t);if(t<min)min=t;printf("%dn",min); 題目1031:統(tǒng)計(jì)單詞個(gè)數(shù)個(gè)均有可能,以回車符表示結(jié)束),以空格分割單詞,第二組自測(cè)數(shù)據(jù)鍵盤輸入There are many students and man

30、y trees! /正確輸出7由鍵盤輸入一個(gè)句子(總字符個(gè)數(shù)從1個(gè)至80要求輸出單詞的個(gè)數(shù)。第一組自測(cè)數(shù)據(jù)鍵盤輸入HowAreYou?/正確輸出3參考程序:#include<stdio.h>main()inti,num=0,word=0;charc;for(i=0;(c=getchar()!='n'i+)if(c='')word=0;elseif(word=0)word=1;num+;printf("%d",num); 題目1042:百萬(wàn)富翁一個(gè)百萬(wàn)富翁遇到一個(gè)陌生人,陌生人找他談了一個(gè)換錢的計(jì)劃。該計(jì)劃如下:我每天給你m元,而你

31、第一天只需給我一分錢。第二天我仍給你m元,你給我2分錢。第三天,我仍給你m元,你給我分錢。依次類推,你每天給我的錢是前一天的兩倍,直到一個(gè)月(38)天。百萬(wàn)富翁很高興,欣然接受這個(gè)契約?,F(xiàn)要求,編寫一個(gè)程序,由鍵盤輸入m,計(jì)算多少天后,百萬(wàn)富翁開(kāi)始虧錢。第一組自測(cè)數(shù)據(jù)18鍵盤輸入第二組自測(cè)數(shù)據(jù)100/鍵盤輸入正確輸出io。/1725正確輸出參考程序:#include<stdio.h>#include<math.h>main()intn,m,i;scanf("%d",&m);for(i=1;i<=38;i+)if(0.01*(pow(2,

32、i-1)-1)-i*m>=0)break;printf("%d",i-1);實(shí)驗(yàn) 6 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(二)一、實(shí)驗(yàn)?zāi)康?)進(jìn)一步熟悉掌握用while語(yǔ)句、do-while語(yǔ)句和for語(yǔ)句實(shí)現(xiàn)循環(huán)的方法。2)掌握在程序設(shè)計(jì)中使用多重循環(huán)。二、實(shí)驗(yàn)內(nèi)容題目1028:求素?cái)?shù)輸出2到200之間(包括2、200)的所有素?cái)?shù)(注:要求1行1個(gè)素?cái)?shù),按由小到大的順序輸出)。提示采用雙重循環(huán),外層循環(huán)產(chǎn)生2到200之間的數(shù),內(nèi)層循環(huán)對(duì)數(shù)進(jìn)行判斷是否為素?cái)?shù)。參考程序:# include<stdio.h># include<math.h>main()intm,k

33、,i;for(m=2;m<=200;m+)k=sqrt(m);for(i=2;i<=k;i+)if(m%i=0)break;if(i>k)printf("%dn",m);1137 :找到滿足要求的數(shù)字題目1.#include<stdio.h>voidmain()inta,b,n;for(n=0;n<=9999;n+)if(n%7=0)a=n;while(a!=0)b=a/10;b=a-b*10;a=a/10;if(b=5)printf("%dn",n);break;ooo或者在GCC環(huán)境下運(yùn)行)在C中先才TEP1-50

34、00的,再打印500099996勺2.#include<stdio.h>#include<stdlib.h>intmain()inti,j,k,m,n;for(i=0;i<=9;i+)for(j=0;j<=9;j+)for(k=0;k<=9;k+)for(m=1;m<=9;m+)n=i*1000+j*100+k*10+m;return 0; if(n%7=0)&&(Q%1000=5|n%100=5|n%10=5)0,;3#include<stdio.h>voidp(inti)intj;for(j=i;j>0;j/

35、=10)if(j%10=5)printf("%dn",i);break;ntmain()inti;for(i=7;i<=9999;i+)if(i%7=0)單元測(cè)試:打印星號(hào)空心菱形#include<stdio.h>intmain()(inti,j,k,line,m;printf("請(qǐng)輸入行數(shù):");scanf("%d",&line);m=(line+1)/2;for(i=1;i<=m;i+)(for(k=0;k<m-i;k+)(printf("");printf("*

36、");if(i=1)printf("n");continue;for(j=0;j<2*i-3;j+)printf("");printf("*");printf("n");for(i=m-1;i>0;i-)for(k=0;k<m-i;k+)printf("");printf("*");if(i=1)printf("n");continue;for(j=0;j<2*i-3;j+)printf("");pri

37、ntf("*");printf("n");return0;15題目1035:打印菱形由鍵盤輸入正數(shù)n,要求輸出2*n+1第一組自測(cè)數(shù)據(jù)鍵盤輸入3/正確輸出*行的菱形圖案。要求菱形左邊緊靠屏幕左邊。第二組自測(cè)數(shù)據(jù)鍵盤輸入2/正確輸出*19參考程序:#include"stdio.h"#include"math.h"main()intn,i,j,k;scanf("%d",&n);for(i=1;i<=2*n+1;i+)k=abs(n+1-i);for(j=1;j<=k;j+)pri

38、ntf("");for(j=1;j<=2*n+1-2*k;j+)printf("*");printf("n");題目1038:打印圖案要求菱形左邊緊靠屏幕左邊。第二組自測(cè)數(shù)據(jù)鍵盤輸入3/正確輸出1121123211211由鍵盤輸入正數(shù)n,要求輸出中間數(shù)字為n的菱形圖案。第一組自測(cè)數(shù)據(jù)鍵盤輸入4/正確輸出1121123211234321123211211參考程序:#include<stdio.h>#include<math.h>main()intn,i,j,k,h;scanf("%d",

39、&n);for(i=-n+1;i<=n-1;i+)for(j=0;j<abs(i);j+)printf("");for(k=1;k<=n-abs(i);k+)printf("%d",k);for(h=n-abs(i)-1;h>=1;h-)printf("%d",h);printf("n");實(shí)驗(yàn)7數(shù)組一、實(shí)驗(yàn)?zāi)康?1)掌握一維數(shù)組和二維數(shù)組的定義、賦值和輸入輸出方法。(2)掌握與數(shù)組有關(guān)的算法。二、實(shí)驗(yàn)內(nèi)容題目1039:倒序由鍵盤輸入10個(gè)整數(shù),倒序輸出。(數(shù)字間由一個(gè)空格分隔)自測(cè)

40、數(shù)據(jù)鍵盤輸入705142019299671366/正確輸出661367992192014570參考程序:#include<math.h>main()inta10;inti;for(i=0;i<10;i+)scanf("%d",&ai);for(i=9;i>=0;i-)printf("%dn",ai);題目1040:統(tǒng)計(jì)不同數(shù)字個(gè)數(shù)由鍵盤輸入20個(gè)整數(shù),統(tǒng)計(jì)不同數(shù)字的個(gè)數(shù)。自測(cè)數(shù)據(jù)鍵盤輸入7051422192996713665934438221139223311/正確輸出16提示上述答案中,因?yàn)?有1個(gè)重復(fù)數(shù)字,11有1個(gè)重

41、復(fù)數(shù)字,22有2個(gè)重復(fù)數(shù)字,故不同數(shù)字有16個(gè),分別是705142219299671366934438113933參考程序:#include"stdio.h"main()inta20;inti,t,p=0;for(i=0;i<20;i+)scanf("%d",&ai);for(t=0;t<i;t+)if(at=ai)break;if(t=i)p+;printf("%d",p);題目1062:打印矩陣由鍵盤輸入一個(gè)3必的矩陣,要求輸出它的轉(zhuǎn)置矩陣自測(cè)數(shù)據(jù)正確輸出 1 1 16 1 990 83 2 9鍵盤輸入1 69

42、32 1023 989參考程序:#include<stdio.h>main()inta34,b43,i,j;for(i=0;i<3;i+)for(j=0;j<4;j+)scanf("%d",&aij);bji=aij;for(i=0;i<4;i+)for(j=0;j<3;j+)printf("%d",bij);printf("n");題目1047:冒泡排序10個(gè)數(shù),用“冒泡法”對(duì)10個(gè)數(shù)從小到大排序,并按格式要求輸出。代碼如下,請(qǐng)?zhí)畛渫暾?。?shù)字間由一個(gè)空格分隔。#incude"st

43、dio.hmain()inta10,i,j,t;for(i=0;i<10;i+)scanf("%d",);for()for(j=0;j<j+)if()for(i=0;i<10;i+)printf("%d",ai);自測(cè)數(shù)據(jù)鍵盤輸入705142019299671366/正確輸出251314192066677099參考程序:#include<stdio.h>main()inta10;inti,j,t;for(i=0;i<10;i+)scanf("%d",&ai);for(i=0;i<9;i

44、+)for(j=0;j<9-i;j+)if(aj>aj+1)t=aj;aj=aj+1;aj+1=t;for(i=0;i<10;i+)printf("%d",ai);題目1046:計(jì)算高精度加法由鍵盤輸入兩個(gè)位數(shù)很長(zhǎng)的整數(shù)(一行一個(gè)數(shù),每個(gè)數(shù)最長(zhǎng)不超過(guò)80位),試計(jì)算并輸出這兩個(gè)數(shù)的和。自測(cè)數(shù)據(jù)鍵盤輸入1234567890123456789/987654321098765/正確輸出1235555544444555554參考程序:#include"stdio.h"#include"string.h"main()inta1

45、00=0,b100=0,c100=0;chars101;inti=0,n1=0,n2=0,max=0,e=0;gets(s);n1=strlen(s);for(i=n1-1;i>=0;i-)an1-1-i=si-'0'gets(s);n2=strlen(s);for(i=n2-1;i>=0;i-)bn2-1-i=si-'0'if(n1>n2)max=n1;elsemax=n2;for(i=0;i<=max;i+)ci=(ai+bi+e)%10;e=(ai+bi+e)/10;if(cmax>0)printf("%d"

46、;,cmax);for(i=max-1;i>=0;i-)printf("%d",ci);題目:找矩陣中的鞍點(diǎn)由鍵盤輸入一個(gè)3X4(3行4歹U)的矩陣,輸出矩陣中的鞍點(diǎn)(即在矩陣行中最大,列中最小的數(shù))若沒(méi)有鞍點(diǎn),輸出“NO”字樣。自測(cè)數(shù)據(jù)鍵盤輸入879011098/709721065/984512030/正確輸出110參考程序:#include<stdio.h>main()inti,j,k,a34,max,maxj,flag;for(i=0;i<3;i+)for(j=0;j<4;j+)scanf("%d”,&aij);for(

47、i=0;i<3;i+)max=ai0;maxj=0;for(j=0;j<4;j+)if(aij>max)max=aij;maxj=j;flag=1;for(k=0;k<3;k+)if(max>akmaxj)flag=0;break;if(flag)printf("%d",max);break;if(!flag)printf("NO");第7單元單元測(cè)試:打印楊輝三角#include<stdio.h>intc(x,y)/求楊輝三角形的第x行第y列的值intx,y;|_intz;if(y=i)l(y=x+i)/若為x

48、行的第1或第x+i列,剛輸出1return(1);z=c(x-1,y-1)+c(x-1,y);/否則,其值為前一行中第y-1列與第y列值之和return(z);voidmain()inti,j,n=13;printf("N=");while(n>12)scanf("%d",&n);/控制輸入正確的值以保證屏幕顯示的圖形正確for(i=0;i<=n;i+)/控制輸出N亍/for(j=0;j<12-i;j+)/控制輸出第i行前面的空格/printf("");for(j=1;j<i+2;j+)/輸出第i行的第

49、j個(gè)值printf("%6d",c(i,j);printf("n");#include"stdio.h"#defineN50voidyang(intaN,intn)inti,j;for(i=0;i<n;i+)aaii0i=11;for(i=2;i<n;i+)for(j=1;j<i;j+)aij=ai-1j-1+ai-1j;voidmain()intn,j,i;intaNN;scanf("%d",&n);yang(a,n);for(i=0;i<n;i+)for(j=0;j<=i;

50、j+)printf("%d,",aij);putchar('n');3.#include<stdio.h>main()longi,j,n,k;scanf("%ld",&n);for(i=1;i<=n;i+)k=1;for(j=1;j<i;j+)printf("%ld,",k);k=k*(i-j)/j;21printf("1n");實(shí)驗(yàn)8字符數(shù)組的應(yīng)用一、實(shí)驗(yàn)?zāi)康?1)掌握字符數(shù)組和字符串函數(shù)的使用。(2)掌握與字符串處理有關(guān)的算法。二、實(shí)驗(yàn)內(nèi)容題目1121:定義存貯字

51、符串的字符數(shù)組在下面程序中填充定義字符數(shù)組的語(yǔ)句,使程序完整#include"string.h"voidmain()chars80;/*定義字符數(shù)組s*/strcpy(s,"abcdefghijklmn");printf("%s",s);參考程序:題目1123:字符串的輸入與輸出下面程序?qū)崿F(xiàn)從鍵盤讀入字符串,然后輸出到屏幕,請(qǐng)?zhí)畛浔匾恼Z(yǔ)句#include"stdio.h"voidmain()chars50;printf("What'syourname?");gets(s);/*由鍵盤讀

52、入字符串*/printf("Yournameis",);printf("%s"',s);/*打印字符串*/參考程序:題目1122:字符串的合并3個(gè)字符串以輸入先后順序合并到從鍵盤輸入3個(gè)字符串(每個(gè)字符串以回車符做為結(jié)束標(biāo)志),將字符串s中,請(qǐng)?zhí)羁帐褂贸绦蛲暾?include"stdio.h"#include"string.h"main()chars100=""chara30;gets(a);strcat(s,a);#gets(a);strcat(s,a);gets(a);strcat

53、(s,a);/*可以寫多行代碼*/printf("%s",s);自測(cè)數(shù)據(jù)鍵盤輸入正確輸出123123abe456abc456參考程序:題目1050:尋找字符串由鍵盤輸入兩個(gè)字符串(假設(shè)第一個(gè)字符串必包含第二個(gè)字符串,如第一個(gè)字符串為ABCDEF,第二個(gè)為CDE,則CDE包含在ABCDEF中),現(xiàn)要求編程輸出第二字符串在第一行字符串中出現(xiàn)的位置。(如果第二個(gè)字符串在第一個(gè)字符串中出現(xiàn)多次,則以最前出現(xiàn)的為準(zhǔn))第一組自測(cè)數(shù)據(jù)第二組自測(cè)數(shù)據(jù)鍵盤輸入鍵盤輸入ABCDEFG/hellhello!/DE/hello/正確輸出正確輸出45提示方法1:建立雙重循環(huán),外層循環(huán)變量指示第一個(gè)串

54、的查找起始位置,內(nèi)層循環(huán)從起始位置開(kāi)始判斷第二個(gè)字符中是否出現(xiàn)在此處;方法2:使用字符串函數(shù)strstr()。參考程序:#include"stdio.h"main()inti,j;chara80,b80;gets(a);gets(b);for(i=0;ai!='0'i+)for(j=0;bj!='0'j+)if(ai+j!=bj)break;if(bj='0')break;if(ai!='0')printf("%d",i+1);elseprintf("NotFound")

55、;判斷字符串是否回文#include<stdio.h>#include<string.h>intmain()inti,j,len;charstr1200;while(gets(str)!=NULL)len=strlen(str);for(i=0,j=len-1;i<j;i+,j-)if(stri!=strj)printf("No'n");break;if(i>=j)printf("Yes'n");return0;23實(shí)驗(yàn)9函數(shù)的基本應(yīng)用一、實(shí)驗(yàn)?zāi)康?1)掌握定義函數(shù)的方法。(2)掌握函數(shù)實(shí)參與形參的對(duì)應(yīng)

56、關(guān)系,以及“值傳遞”的方式。(3)掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用的方法。(4)掌握全局變量和局部變量、動(dòng)態(tài)變量、靜態(tài)變量的概念和使用方法。二、實(shí)驗(yàn)內(nèi)容題目1059:函數(shù)定義下面是使用輾轉(zhuǎn)相除法,求最大公約數(shù)的程序,請(qǐng)補(bǔ)充完整程序中函數(shù)的定義與調(diào)用#include"stdio.h"intf(intm,intn)intr;while(r=m%n)!=0)m=n;n=r;returnn;main()inta,b,n;scanf("%d%d",&a,&b);printf("%dn",f(a,b);題目1083:編寫函數(shù)計(jì)算階乘下面程序?qū)崿F(xiàn)由鍵盤讀入整數(shù)n,計(jì)算并輸出n!,請(qǐng)補(bǔ)充完整計(jì)算階乘的函數(shù)。longfanc(inta)longi,n=1;for(i=1;i<=a;i+)n=n*i;returnn;voidmain()intn;scanf("%d",&n);#printf("%ld",fanc(n);題目1124:函數(shù)中的變量寫出下面程序的運(yùn)行結(jié)果:intf1(intx)staticintz=3,y=0;y+;

溫馨提示

  • 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)論