版權(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èi)部參考) 華南農(nóng)業(yè)大學(xué) 目 錄 上機(jī)實(shí)驗(yàn).1 實(shí)驗(yàn) 1 C 語(yǔ)言程序初步.1 一、實(shí)驗(yàn)?zāi)康?1 二、實(shí)驗(yàn)內(nèi)容.1 實(shí)驗(yàn) 2 基本數(shù)據(jù)類型、運(yùn)算和表達(dá)式.2 一、實(shí)驗(yàn)?zāi)康?2 二、實(shí)驗(yàn)內(nèi)容.2 實(shí)驗(yàn) 3 基本輸入與輸出.4 一、實(shí)驗(yàn)?zāi)康?4 二、實(shí)驗(yàn)內(nèi)容.4 實(shí)驗(yàn) 4 選擇結(jié)構(gòu)程序設(shè)計(jì).3 一、實(shí)驗(yàn)?zāi)康?3 二、實(shí)驗(yàn)內(nèi)容.3 實(shí)驗(yàn) 5 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(一).8 一、實(shí)驗(yàn)?zāi)康?8 二、實(shí)驗(yàn)內(nèi)容.8 實(shí)驗(yàn) 6 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(二).14 一、實(shí)驗(yàn)?zāi)康?14 二、實(shí)驗(yàn)內(nèi)容.14 實(shí)驗(yàn) 7 數(shù)組.17 一、實(shí)驗(yàn)?zāi)康?17 二、實(shí)驗(yàn)
2、內(nèi)容.17 實(shí)驗(yàn) 8 字符數(shù)組的應(yīng)用.21 一、實(shí)驗(yàn)?zāi)康?21 二、實(shí)驗(yàn)內(nèi)容.21 實(shí)驗(yàn) 9 函數(shù)的基本應(yīng)用.24 一、實(shí)驗(yàn)?zāi)康?24 二、實(shí)驗(yàn)內(nèi)容.24 實(shí)驗(yàn) 10 指針與結(jié)構(gòu)體.26 一、實(shí)驗(yàn)?zāi)康?26 二、實(shí)驗(yàn)內(nèi)容.26 實(shí)驗(yàn) 11 鏈表.29 一、實(shí)驗(yàn)?zāi)康?29 二、實(shí)驗(yàn)內(nèi)容.29 實(shí)驗(yàn) 12 文件.32 一、實(shí)驗(yàn)?zāi)康?32 二、實(shí)驗(yàn)內(nèi)容.32 1 上機(jī)實(shí)驗(yàn) 實(shí)驗(yàn) 1 C語(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)
3、在教師的指導(dǎo)下,學(xué)會(huì)使用 JudgeOnline 實(shí)驗(yàn)系統(tǒng)。 二、實(shí)驗(yàn)內(nèi)容 1. 運(yùn)行第一個(gè) C 程序 略 2. 在 JudgeOnline 系統(tǒng)中提交實(shí)現(xiàn)了計(jì)算 a+b 功能的程序 略 2 實(shí)驗(yàn) 2 基本數(shù)據(jù)類型、運(yùn)算和表達(dá)式 一、實(shí)驗(yàn)?zāi)康?(1)掌握 C語(yǔ)言數(shù)據(jù)類型,熟悉如何定義一個(gè)整型和實(shí)型的變量,以及對(duì)它們賦值的方法。 (2)掌握不同的類型數(shù)據(jù)之間賦值的規(guī)律。 (3)學(xué)會(huì)使用 C 的有關(guān)算術(shù)運(yùn)算符,以及包含這些運(yùn)算符的表達(dá)式,特別是自加(+)和自減(-)運(yùn)算符的使用。 (4)進(jìn)一步熟悉 C 程序的編輯、編譯、連接和運(yùn)行的過(guò)程。 二、實(shí)驗(yàn)內(nèi)容 題目 1117:變量定義,按要求完成程序 下
4、面給出一個(gè)可以運(yùn)行的程序,但是缺少部分語(yǔ)句,請(qǐng)按右邊的提示補(bǔ)充完整缺少的語(yǔ)句。 #include "stdio.h" main() int a, b; /*定義整型變量 a和 b*/ int i, 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); 具體操作步驟 (1)將代碼補(bǔ)充完整; (2)在 TC或 VC+上運(yùn)行通過(guò); (3)在 JudgeOnline 實(shí)驗(yàn)系統(tǒng)上提交; 題目 6568:在顯示屏上顯示指定字符 要求編寫一個(gè)程
5、序,在顯示屏上顯示如下內(nèi)容(全為半角字符,且不包含空格) : C:ABC.TXT 提示 注意轉(zhuǎn)義字符在程序中的使用。 參考程序: #include "stdio.h" main() printf("C:ABC.TXT"); 3 題目 1118:賦值表達(dá)式與賦值語(yǔ)句,寫出程序運(yùn)行結(jié)果 閱讀下面程序,寫出運(yùn)行結(jié)果: #include "stdio.h" main() float a; int b, c; char d, e; a=3.5; b=a; c=330; d=c; e='141' printf("%f,%
6、d,%d,%c,%c", a,b,c,d,e); 運(yùn)行結(jié)果為: 3.500000,3,330,J,a 提示賦值語(yǔ)句具有類型轉(zhuǎn)換的功能,但可能會(huì)改變數(shù)據(jù)。 題目 1119:基本運(yùn)算,寫出程序運(yùn)行結(jié)果 閱讀下面程序,寫出運(yùn)行結(jié)果: #include "stdio.h" main() int a, b, c; float d=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
7、,1.000000,1.500000 提示除法分整除與普通除法之分。 4 實(shí)驗(yàn) 3 基本輸入與輸出 一、實(shí)驗(yàn)?zāi)康?(1)熟練掌握 putchar、getchar、printf、scanf函數(shù)的使用方法。 (2)掌握各種類型數(shù)據(jù)的輸入輸出的方法,能正確使用各種格式轉(zhuǎn)換符。 二、實(shí)驗(yàn)內(nèi)容 題目 1126:字符的輸入與輸出 編程實(shí)現(xiàn)由鍵盤輸入一個(gè)字符后,在屏幕上輸出該字符。 第一組自測(cè)數(shù)據(jù) 鍵盤輸入 a 正確輸出 a 第二組自測(cè)數(shù)據(jù) 鍵盤輸入 + 正確輸出 +參考程序: #include "stdio.h" main() char ch; ch = getchar(); putc
8、har(ch); 題目 1127:計(jì)算加法 編程實(shí)現(xiàn)由鍵盤輸入一個(gè)加法式,輸出正確的結(jié)果。 (兩個(gè)加數(shù)均為整數(shù)) 第一組自測(cè)數(shù)據(jù) 鍵盤輸入 10+20 正確輸出 30 第二組自測(cè)數(shù)據(jù) 鍵盤輸入 -15+60 正確輸出 45 參考程序: #include "stdio.h" main() int a, b; scanf("%d%*c%d", &a,&b); printf("%d", a+b); 題目 1014:求圓面積 由鍵盤輸入圓半徑 r,請(qǐng)計(jì)算該圓的面積。 (注: 取 3.14159,結(jié)果保留兩位小數(shù)位;另外,程序只
9、要能對(duì) r在 0到 10000 范圍的情況輸出正確答案即可) 第一組自測(cè)數(shù)據(jù) 鍵盤輸入 2 65.2 正確輸出 13355.02 第二組自測(cè)數(shù)據(jù) 鍵盤輸入 11.2 正確輸出 394.08 提示結(jié)果保留兩位小數(shù)可采用 printf函數(shù)的格式控制字符來(lái)實(shí)現(xiàn)。 參考程序: #include "stdio.h" main() float area,r; scanf("%f",&r); area=3.14159*r*r; printf("%0.2f",area); 題目 1015:計(jì)算攝氏溫度值 從鍵盤輸入一個(gè)華氏溫度值,要求按格式輸
10、出其對(duì)應(yīng)的攝氏溫度值,精確到小數(shù)點(diǎn)后兩位。 數(shù)學(xué)公式描述為: 5 /9 *(F 32 )= C 第一組自測(cè)數(shù)據(jù) 鍵盤輸入 100 正確輸出 37.78 第二組自測(cè)數(shù)據(jù) 鍵盤輸入 100 正確輸出 37.78 提示注意公式中的除為普通除法。 參考程序: #include<stdio.h> main() float f,c; scanf("%f",&f); c=5.0/9*(f-32); printf("%.2f",c); 3 實(shí)驗(yàn) 4 選擇結(jié)構(gòu)程序設(shè)計(jì) 一、實(shí)驗(yàn)?zāi)康?(1)了解 C語(yǔ)言表示邏輯的方法(以 0 代表“假” ,以非0代表“真
11、” ) 。 (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ù) 鍵盤輸入 0.707,0.707 正確輸出 Y 第二組自測(cè)數(shù)據(jù) 鍵盤輸入 0.5,0.5 正確輸出 N 提示(1)平面上的點(diǎn)與圓的關(guān)系分為在圓內(nèi)、在圓上、在圓外三種,本題要求判斷是否在圓上; (2)判斷兩實(shí)數(shù)相等采用判斷這兩實(shí)數(shù)的差的絕對(duì)值小于規(guī)定誤差精度(本題
12、為 0.001)的方法實(shí)現(xiàn)。 參考程序: #include "stdio.h" #include "math.h" main() float a,b; scanf("%f,%f",&a,&b); iffabs(a*a+b*b-1)<1e-3) printf("Yn"); else printf("Nn"); 題目 1017:求數(shù)的位數(shù) 由鍵盤輸入一個(gè)不多于 9 位的正整數(shù),要求輸出它是幾位數(shù)。 第一組自測(cè)數(shù)據(jù) 鍵盤輸入 349213 正確輸出 6 第二組自測(cè)數(shù)據(jù) 鍵盤輸入
13、10000 正確輸出 5 提示劃定一位數(shù)、二位數(shù)、九位數(shù)的范圍,然后用 if else if else 語(yǔ)句實(shí)現(xiàn)判斷。 4 參考程序: #include "stdio.h" main() int n,place; scanf("%ld",&n); if(n>99999999) place=9; else if(n>9999999) place=8; else if(n>999999) place=7; else if(n>99999) place=6; else if(n>9999) place=5; else if
14、(n>999) place=4; else if(n>99) place=3; else if(n>9) place=2; else place=1; printf("%ldn",place); 題目 1018:數(shù)的排序 由鍵盤輸入三個(gè)整數(shù) a、b、c,按從小到大的順序輸出這三個(gè)數(shù)。 第一組自測(cè)數(shù)據(jù) 鍵盤輸入 65,45,90 正確輸出 45,65,90 第二組自測(cè)數(shù)據(jù) 鍵盤輸入 9,6,3 正確輸出 3,6,9 參考程序: #include<stdio.h> main() int a,b,c,t; scanf("%d,%d,%d&q
15、uot;,&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",a,b,c); 題目 1016:字符變換 由鍵盤輸入 5 個(gè)字符,將其中的大寫字母變成小寫,其它類型的字符不變,并按輸入順序逐個(gè)輸出。 第一組自測(cè)數(shù)據(jù) 鍵盤輸入 ApPLe 正確輸出 apple 第二組自測(cè)數(shù)據(jù) 鍵盤輸入 a+B=5 正確輸出 a+b=5 提示下面代碼實(shí)現(xiàn)由鍵盤讀入一個(gè)字符,并按題意處理后輸出 char a; a=getcha
16、r(); if(a>='A' && a<='Z') a=a+32; 5 putchar(a); 現(xiàn)在,題目要求處理 5個(gè)字符,怎么做呢?請(qǐng)自己思考 參考程序: #include <stdio.h> main() char a,b,c,d,e; scanf("%c%c%c%c%c",&a,&b,&c,&d,&e); if(a<='Z'&&a>='A') a=a+32; if(b<='Z'
17、;&&b>='A') b=b+32; if(c<='Z'&&c>='A') c=c+32; if(d<='Z'&&d>='A') d=d+32; if(e<='Z'&&e>='A') e=e+32; printf("%c%c%c%c%c",a,b,c,d,e); 題目 1019:數(shù)的整除 由鍵盤輸入 5 個(gè)整數(shù),逐個(gè)判斷它們能否被 27 整除,能的輸出“YES
18、”,不能的輸出“NO”(注意,輸出時(shí),一個(gè)判斷結(jié)果占一行,5 個(gè)數(shù)的判斷共占 5 行) 。 第一組自測(cè)數(shù)據(jù) 鍵盤輸入 8 27 17577 325 54 正確輸出 NO YES YES NO YES 第二組自測(cè)數(shù)據(jù) 鍵盤輸入 8 27 17577 325 54 正確輸出 NO YES YES NO YES 提示整除即除得余數(shù)為 0 參考程序: #include "stdio.h" main() int a,b,c,d,e; scanf("%d %d %d %d %d",&a,&b,&c,&d,&e); if(a%2
19、7=0) printf("YESn");else printf("NOn"); if(b%27=0) printf("YESn");else printf("NOn"); if(c%27=0) printf("YESn");else printf("NOn"); if(d%27=0) printf("YESn");else printf("NOn"); if(e%27=0) printf("YESn");else p
20、rintf("NOn"); 題目 1020:正負(fù)奇偶判斷 由鍵盤輸入非零整數(shù) x,判斷該數(shù)正負(fù),正數(shù)輸出 positive,負(fù)數(shù)輸出 negative,接著判斷該數(shù)的奇偶性,奇數(shù)輸出 odd,偶數(shù)輸出 even。 第一組自測(cè)數(shù)據(jù) 鍵盤輸入 -43 正確輸出 negative odd 6 第二組自測(cè)數(shù)據(jù) 鍵盤輸入 98 正確輸出 positive even 參考程序: #include "stdio.h" main() int n; scanf("%d",&n); if(n<0)printf("negativen
21、"); else printf("positiven"); if(n%2=0)printf("evenn"); else printf("oddn"); 題目 1023:簡(jiǎn)單計(jì)算器 下面程序是實(shí)現(xiàn)一個(gè)簡(jiǎn)單的運(yùn)算器(保留兩位小數(shù)點(diǎn)) ,如果由鍵盤輸入 10+50,計(jì)算機(jī)可以輸出結(jié)果 60.00;如果輸入 86,計(jì)算機(jī)輸出 48.00;如果輸入 20/4,計(jì)算機(jī)輸出 5.00;如果輸入 8-6,計(jì)算機(jī)輸出 2.00,請(qǐng)?jiān)诳仗幪钌线m當(dāng)?shù)拇a,運(yùn)行通過(guò)后并提交。 #include "stdio.h" main()
22、 float a,b,c; char op; scanf("%f%c%f", ); switch (op) case '+': ; case '-': _; case '*': _; case '/': _ ; default: printf("error"); return ; printf("result= ", c); 第一組自測(cè)數(shù)據(jù) 鍵盤輸入 45*2 正確輸出 90 第二組自測(cè)數(shù)據(jù) 鍵盤輸入 50.1-23 7 正確輸出 27.10 參考程序: #include
23、 <stdio.h> int main() float a,b,c; char op; 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"
24、;,c); 8 實(shí)驗(yàn) 5 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(一) 一、實(shí)驗(yàn)?zāi)康?(1)熟悉掌握用 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 第二組自測(cè)數(shù)據(jù) 鍵盤輸入 8 正確輸出 40320 參考程序: #include<stdio.h> main() long i,n=1,a; scanf("%ld",&
25、;a); for(i=1;i<=a;i+) n=n*i; printf("%ldn",n); 題目 1025:計(jì)算數(shù)列和 有數(shù)列 1,3,5,7,9,11, 現(xiàn)要求由鍵盤輸入 n,計(jì)算輸出該數(shù)列的前 n 項(xiàng)和。 第一組自測(cè)數(shù)據(jù) 鍵盤輸入 2 正確輸出 4 第二組自測(cè)數(shù)據(jù) 鍵盤輸入 5 正確輸出 25 9 參考程序: #include<stdio.h> main() long n,sum=0,i,t=1; scanf("%ld",&n); for(i=1;i<=n;i+) sum=sum+t; t=t+2; printf(&
26、quot;%ldn",sum); 或 #include <stdio.h> main() long n,sum; scanf("%ld",&n); sum=n*n; printf("%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ù) 鍵盤輸入 abc123 正確輸出 6 第二組自測(cè)數(shù)據(jù) 鍵盤輸入 A6H7T+
27、65 正確輸出 24 提示(1)可以使用下面程序段逐個(gè)讀入鍵盤輸入的一行字符 char ch; while(ch=getchar()!='n') (2)數(shù)字字符轉(zhuǎn)為對(duì)應(yīng)的數(shù)值可用 a=ch-'0' 參考程序: #include<stdio.h> main() char c; int s=0,a; while(c=getchar()!='n') if(c>='0'&&c<='9') a=c-48; s=s+a; printf("%d",s); 10 題目 1
28、029:求最大公約數(shù) 由鍵盤輸入兩個(gè)正整數(shù) m、n(m、n 用長(zhǎng)整數(shù)表示) ,計(jì)算它們的最大公約數(shù)。 第一組自測(cè)數(shù)據(jù) 鍵盤輸入 16,24 正確輸出 8 第二組自測(cè)數(shù)據(jù) 鍵盤輸入 17,25 正確輸出 1 提示公約數(shù)是既能整除 m又能整除 n 的數(shù),題目要求滿足這一條件的最大的一個(gè)。 參考程序: #include<stdio.h> main() long r,m,n; scanf("%ld,%ld",&m,&n); while(m!=0) r=n%m; n=m; m=r; printf("%ldn",n); 或 #includ
29、e<stdio.h> main() long m,n,t,i,s; scanf("%ld,%ld",&m,&n); t=m>n?n:m; for (i=t;i>=1;i-) if (m%i=0&&n%i=0) s=i; break; printf("%d",s); 題目 1030:字符變換 由鍵盤輸入一個(gè)句子(總字符個(gè)數(shù)從 1 個(gè)至 80個(gè)均有可能,以回車符表示結(jié)束) ,將其中的大寫字符變成小寫(其它類型的字符不變) ,最后輸出變換后的句子。 第一組自測(cè)數(shù)據(jù) 鍵盤輸入 How Are You? 正確
30、輸出 how are you? 第二組自測(cè)數(shù)據(jù) 鍵盤輸入 ThiS IS My fIrSt C ProgrAm! 正確輸出 this is my first c program! 11 參考程序: #include <stdio.h> main() char c; while(c=getchar()!='n') if(c>='A'&&c<='Z') c=c+32; putchar(c); 題目 1037:計(jì)算數(shù)列和 有數(shù)列: 編程實(shí)現(xiàn),由鍵盤輸入 n,計(jì)算輸出數(shù)列前 n 項(xiàng)和。 (結(jié)果保留四位小數(shù)) 第一組
31、自測(cè)數(shù)據(jù) 鍵盤輸入 20 正確輸出 32.6603 第二組自測(cè)數(shù)據(jù) 鍵盤輸入 30 正確輸出 88.0403 參考程序: #include<stdio.h> main() int i,t,n; float a=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:輸出最小值 從鍵盤輸入十個(gè)整數(shù),輸出最小值 自測(cè)數(shù)據(jù) 鍵盤輸入 12 45 76 87 5 87 43 55 99 21 正確輸出 5
32、 12 參考程序: #include "stdio.h" main() int i,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è)句子(總字符個(gè)數(shù)從 1 個(gè)至80 個(gè)均有可能,以回車符表示結(jié)束) ,以空格分割單詞,要求輸出單詞的個(gè)數(shù)。 第一組自測(cè)數(shù)據(jù) 鍵盤輸入 How Are You? 正確輸出 3
33、第二組自測(cè)數(shù)據(jù) 鍵盤輸入 There are many students and many trees! 正確輸出 7 參考程序: #include<stdio.h> main() int i,num=0,word=0; char c; for(i=0;(c=getchar()!='n'i+) if(c=' ')word=0; else if(word=0) word=1; num+; printf("%d",num); 題目 1042:百萬(wàn)富翁 一個(gè)百萬(wàn)富翁遇到一個(gè)陌生人,陌生人找他談了一個(gè)換錢的計(jì)劃。該計(jì)劃如下:我每天給你 m
34、元,而你第一天只需給我一分錢。第二天我仍給你 m元,你給我 2 分錢。第三天,我仍給你 m元,你給我 4分錢。依次類推,你每天給我的錢是前一天的兩倍,直到一個(gè)月(38)天。百萬(wàn)富翁很高興,欣然接受這個(gè)契約?,F(xiàn)要求,編寫一個(gè)程序,由鍵盤輸入 m,計(jì)算多少天后,百萬(wàn)富翁開始虧錢。 第一組自測(cè)數(shù)據(jù) 鍵盤輸入 100 正確輸出 18 第二組自測(cè)數(shù)據(jù) 鍵盤輸入 10000 13 正確輸出 25 參考程序: #include <stdio.h> #include <math.h> main() int n,m,i; scanf ("%d",&m); fo
35、r (i=1;i<=38;i+) if (0.01*(pow(2,i-1)-1)-i*m>=0) break; printf("%d",i-1); 14 實(shí)驗(yàn) 6 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(二) 一、實(shí)驗(yàn)?zāi)康?(1)進(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)行判斷是否為素
36、數(shù)。 參考程序: # include<stdio.h> # include<math.h> main() int m,k,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); 題目 1035:打印菱形 由鍵盤輸入正數(shù) n,要求輸出 2*n+1行的菱形圖案。要求菱形左邊緊靠屏幕左邊。第一組自測(cè)數(shù)據(jù) 鍵盤輸入 3 正確輸出 * * * * * * * 第二組自測(cè)數(shù)據(jù) 鍵盤輸入 2 正確輸出 * * * * *
37、 15 參考程序: #include "stdio.h" #include "math.h" main() int n,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+) printf(" "); for(j=1;j<=2*n+1-2*k;j+) printf("*"); printf("n"); 題目 1137:找滿足要求的數(shù)字 輸出 1 到9999
38、中能被7 整除,而且至少有一位數(shù)字是 5 的所有數(shù)字。輸出時(shí)一行一個(gè)數(shù)字,且按由小到大的順序輸出。 提示判斷一個(gè)數(shù)中是否有數(shù)字 5,首先要掌握拆數(shù)字的方法,一種可行算法如下: 一個(gè)整數(shù) a,使用 a%10,可以得到 a 的個(gè)位數(shù),然后使用 a=a/10,可以將 a 中的個(gè)位數(shù)字除去,上述過(guò)程重復(fù)則可以得到原數(shù) a 中其它位上的數(shù)字。 參考程序: #include "stdio.h" main() int i, j; for(i=7; i<=9999; i=i+7) j=i; while(j!=0) if(j%10=5) break; j=j/10; if(j!=0) printf("%dn", i); 題目 1038:打印圖案 由鍵盤輸入正數(shù) n,要求輸出中間數(shù)字為 n 的菱形圖案。要求菱形左邊緊靠屏幕左邊。 第一組
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版交通設(shè)施地形圖保密及規(guī)劃合同3篇
- 二零二五版建筑工程施工圖紙審查招標(biāo)投標(biāo)合同書3篇
- 二零二五年度花展工程花卉品種研發(fā)與專利申請(qǐng)合同3篇
- 二零二五年度綠色建筑項(xiàng)目采購(gòu)合同3篇
- 二零二五版XX個(gè)人商業(yè)秘密保護(hù)合同樣本3篇
- 二零二五年度私人墓地購(gòu)置與墓園墓碑雕刻人才培養(yǎng)合同3篇
- 二零二五年度金融機(jī)構(gòu)貸款擔(dān)保與信用管理合同3篇
- 二零二五版家庭水電維修與改造兼職合同3篇
- 二零二五版廢舊電線電纜回收與資源化利用合同3篇
- 二零二五年度食品行業(yè)環(huán)境保護(hù)設(shè)施租賃合同2篇
- 2024-2025學(xué)年八年級(jí)上學(xué)期1月期末物理試題(含答案)
- 2025年國(guó)新國(guó)際投資有限公司招聘筆試參考題庫(kù)含答案解析
- 制造車間用洗地機(jī)安全操作規(guī)程
- 2025河南省建筑安全員-A證考試題庫(kù)及答案
- 商場(chǎng)電氣設(shè)備維護(hù)勞務(wù)合同
- 油氣田智能優(yōu)化設(shè)計(jì)-洞察分析
- 陜西2020-2024年中考英語(yǔ)五年真題匯編學(xué)生版-專題09 閱讀七選五
- 磚混結(jié)構(gòu)基礎(chǔ)加固技術(shù)方案
- 助產(chǎn)專業(yè)的職業(yè)生涯規(guī)劃
- 2023年國(guó)家公務(wù)員錄用考試《行測(cè)》真題(行政執(zhí)法)及答案解析
- 新《國(guó)有企業(yè)管理人員處分條例》知識(shí)競(jìng)賽考試題庫(kù)500題(含答案)
評(píng)論
0/150
提交評(píng)論