華南農(nóng)業(yè)大學(xué)C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書參考答案_第1頁(yè)
華南農(nóng)業(yè)大學(xué)C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書參考答案_第2頁(yè)
華南農(nóng)業(yè)大學(xué)C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書參考答案_第3頁(yè)
華南農(nóng)業(yè)大學(xué)C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書參考答案_第4頁(yè)
華南農(nóng)業(yè)大學(xué)C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書參考答案_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、華南農(nóng)業(yè)大學(xué)C語(yǔ)言程序設(shè)計(jì)實(shí) 驗(yàn)指導(dǎo)書參考答案華南農(nóng)業(yè)大學(xué)c 語(yǔ)言程序設(shè)計(jì)上機(jī)指導(dǎo)書參考答案上級(jí)實(shí)驗(yàn)參考答案#include "stdio.h"#include"math.h"int main() int i;double a, b;for(i=0;i<=100000;+i)a=sqrt(i+100);b=sqrt(i+168);if(int)a=ceil(a)&&(int)b=ceil(b)printf("%dn",i);實(shí)驗(yàn) 2 基本數(shù)據(jù)類型、運(yùn)算和表達(dá)式一、實(shí)驗(yàn)?zāi)康?) 掌握 C 語(yǔ)言數(shù)據(jù)類型,熟悉如何定義

2、一個(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)行的過程。二、實(shí)驗(yàn)內(nèi)容1. 變量的定義題目1117:變量定義,按要求完成程序下面給出一個(gè)可以運(yùn)行的程序,但是缺少部分語(yǔ)句,請(qǐng)按右邊的提示補(bǔ)充完整缺少的語(yǔ)句。void 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=%

3、d,i=%f,j=%fn", a, b, i,j);具體操作步驟1)將代碼補(bǔ)充完整;2)在TC 或VC+上運(yùn)行通過;3)在JudgeOnline 實(shí)驗(yàn)系統(tǒng)上提交;2. 賦值表達(dá)式與賦值語(yǔ)句題目1118:賦值表達(dá)式與賦值語(yǔ)句,寫出程序運(yùn)行結(jié)果 閱讀下面程序,寫出運(yùn)行結(jié)果:void main() float a;int b, c;char d, 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ì)

4、改變數(shù)據(jù)。3. 基本運(yùn)算題目1119:基本運(yùn)算,寫出程序運(yùn)行結(jié)果閱讀下面程序,寫出運(yùn)行結(jié)果:void 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,1.000000,1.500000提示除法分整除與普通除法之分。實(shí)驗(yàn) 3 基本輸入與輸出一、實(shí)驗(yàn)?zāi)康?)熟練掌握putchar、 getchar、 printf、 scanf 函數(shù)的使用方法。2)掌握各種類型數(shù)

5、據(jù)的輸入輸出的方法,能正確使用各種格式轉(zhuǎn)換符。二、實(shí)驗(yàn)內(nèi)容題目1126:字符的輸入與輸出編程實(shí)現(xiàn)由鍵盤輸入一個(gè)字符后,在屏幕上輸出該字符。 第二組自測(cè)數(shù) 鍵盤輸入+/正確輸出+第一組自測(cè)數(shù)據(jù)據(jù)鍵盤輸入a/正確輸出a參考程序:#include "stdio.h"main() char ch;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

6、"main() int a, b;scanf("%d%*c%d", &a,&b);printf("%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ù)的格式控制字符來實(shí)現(xiàn)。參考程序:#include "stdio.h&

7、quot;main() float area,r;scanf("%f",&r);area=3.14159*r*r;printf("%0.2f",area);題目1015:計(jì)算攝氏溫度值從鍵盤輸入一個(gè)華氏溫度值,要求按格式輸出其對(duì)應(yīng)的攝氏溫度值,精確到小數(shù)點(diǎn)后兩位。數(shù)學(xué)公式描述為:5C = (F - 32)9第一組自測(cè)數(shù)據(jù)第二組 鍵盤輸入 100/ 正確輸出37.78鍵盤輸入100/正確輸出37.78提示注意公式中的除為普通除法。參考程序:#include<stdio.h> void main() float f,c;scanf(&qu

8、ot;%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ǔ)言表示邏輯的方法以 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.

9、5,0.57正確輸出正確輸出YN提示1)平面上的點(diǎn)與圓的關(guān)系分為在圓內(nèi)、在圓上、在圓外三種,本題要求判斷是否在圓上;2)判斷兩實(shí)數(shù)相等采用判斷這兩實(shí)數(shù)的差的絕對(duì)值小于規(guī)定誤差精度(本題為0.001)的方法實(shí)現(xiàn)。參考程序:#include "stdio.h"#include "math.h"void main() float a,b;scanf("%f,%f",&a,&b);if(fabs(a*a+b*b-1)<1e-3)printf("Yn");else printf("Nn&quo

10、t;);題目1017:求數(shù)的位數(shù)由鍵盤輸入一個(gè)不多于9 位的正整數(shù),要求輸出它是幾位數(shù)。第一組自測(cè)數(shù)據(jù)第二組自測(cè)數(shù)據(jù)鍵盤輸入鍵盤輸入349213/10000/正確輸出正確輸出65提示劃定一位數(shù)、二位數(shù)、九位數(shù)的范圍,后用ifelse if else語(yǔ)句實(shí)現(xiàn)判斷。參考程序: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;e

11、lse if(n>9999) place=5;else if(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ù)第二組自測(cè)數(shù)據(jù)鍵盤輸入鍵盤輸入 65,45,90/9,6,3/正確輸出正確輸出 45,65,903,6,9參考程序:#include<stdio.h>main() int a,b,c,t;scanf(&

12、quot;%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",a,b,c);題目1016:字符變換由鍵盤輸入5 個(gè)字符,將其中的大寫字母變成小寫,其它類型的字符不變,并按輸入順序逐個(gè)輸出。第一組自測(cè)數(shù)據(jù)第二組自測(cè)數(shù)據(jù)鍵盤輸入鍵盤輸入 ApPLe/a+B=5/正確輸出正確輸出 applea+b=5提示下面代碼實(shí)現(xiàn)由鍵盤讀入一個(gè)字符,并按題意處理后輸出char a;a=getchar(

13、);if(a>='A' && a<='Z')a=a+32;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'&&b>

14、;='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”,不能的輸出“NO” 注意,輸出時(shí),一個(gè)判斷結(jié)

15、果占一行,5 個(gè)數(shù)的判斷共占5 行) 。第一組自測(cè)數(shù)據(jù)測(cè)數(shù)據(jù) 鍵盤輸入8 2717577 325 54/325 54/正確輸出NOYESYES NOYES提示整除即除得余數(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%27=0) printf("YESn");else printf("NOn");if(b%27=0) printf("

16、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 printf("NOn");#include "stdio.h"void main()int a,i;for(i=0;i<6;i+

17、)scanf("%d",&a);if(a%27=0)printf("YES");elseprintf("NO");printf("n"); 題目1020:正負(fù)奇偶判斷由鍵盤輸入非零整數(shù)x,判斷該數(shù)正負(fù),正數(shù)輸出 negative接著判斷該數(shù)的奇偶性,奇數(shù)輸出odd,偶數(shù)輸出even。第一組自測(cè)數(shù)據(jù)鍵盤輸入-43 /據(jù)正確輸出第二組自鍵盤輸入8 2717577正確輸出NOYESYESNOYESpositives負(fù)數(shù)輸出negative odd第二組自測(cè)數(shù)鍵盤輸入98/positive正確輸出even#incl

18、ude "stdio.h"main() int n;scanf("%d",&n);if(n<0)printf("negativen"); 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;如果輸入8 6,計(jì)算機(jī)輸出48.00;如果輸入20/4

19、,計(jì)算機(jī)輸出5.00;如果輸入8-6,計(jì)算機(jī)輸出2.00,請(qǐng)?jiān)诳仗幪钌线m當(dāng)?shù)拇a,運(yùn)行通過后并提交。#include "stdio.h"void main() float a,b,c;char op;scanf("%f%c%f",);switch (op) case '+':;case'-':_;case'*':_;case '/':_;default: printf("error");return ; printf("result=", c);第一組

20、自測(cè)數(shù)據(jù)第二組自測(cè)數(shù)據(jù)鍵盤輸入盤輸入 45*2/50.1-23/正正確輸出確輸出 27.1090參考程序:#include <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(&

21、quot;error");break;printf("result=%.2f",c); 、實(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ù)鍵盤輸入8/正確輸出40320第一組自測(cè)數(shù)據(jù)鍵盤輸入5/正確輸出120參考程序:#include<stdio.h> main() long i,n=1,

22、a;scanf("%ld",&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參考程序:#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;p

23、rintf("%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ù)值累加起來,輸出結(jié)果。第一組自測(cè)數(shù)據(jù)第二組自測(cè)數(shù)據(jù)鍵盤輸鍵盤輸入入abc123/A6H7T+65 /正確輸出正確輸出624提

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);題目1029:求最大公約數(shù)m、 n 用長(zhǎng)整數(shù)表示),計(jì)算第二組鍵盤

25、輸入17,25/正確輸出1由鍵盤輸入兩個(gè)正整數(shù)m、 n它們的最大公約數(shù)。第一組自測(cè)數(shù)據(jù)自測(cè)數(shù)據(jù) 鍵盤輸入16,24/正確輸出8提示公約數(shù)是既能整除m 又能整除n 的數(shù),題目要求滿足這一條件的最大的一個(gè)。參考程序:#include<stdio.h>main() long r,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() long m,n,t,i,s;scanf(&

26、quot;%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);題目1030:字符變換由鍵盤輸入一個(gè)句子總字符個(gè)數(shù)從結(jié)束) ,將其中的大寫字符變成小寫其它類型的字符不變),最后輸出變換后的句子。第一組自測(cè)數(shù)據(jù)自測(cè)數(shù)據(jù) 鍵盤輸入 How Are You? / fIrSt C ProgrAm! /正確輸出 #include <stdio.h> main() char c;while(c=

27、getchar()!='n') if(c>='A'&&c<='Z')c=c+32;putchar(c);1 個(gè)至 80 個(gè)均有可能,以回車符表示最后輸出變換后的句子。第二組鍵盤輸入ThiS IS My正確輸出this is my first chow are you? program!題目1037:計(jì)算數(shù)列和有數(shù)列:編程實(shí)現(xiàn),由鍵盤輸入第一組自測(cè)數(shù)據(jù)組自測(cè)數(shù)據(jù)鍵盤輸入入20/正確輸出出32.6603參考程序:#include<stdio.h> main() int i,t,n;float a=2,b=1,s

28、=0; scanf("%d",&n);for(i=1;i<=n;i+) s=s+a/b;t=a;a=a+b;b=t;printf("%.4fn",s);n,計(jì)算輸出數(shù)列前n項(xiàng)和。(結(jié)果保留四位小數(shù)) 第二 鍵盤輸30/ 正確輸88.0403題目1044:輸出最小值從鍵盤輸入十個(gè)整數(shù),輸出最小值 自測(cè)數(shù)據(jù) 鍵盤輸入12 457687 5 8743 5599 21/正確輸出5參考程序:#include "stdio.h" main() int i,t,min;scanf("%d", &min);f

29、or(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ù)第二組自測(cè)數(shù)據(jù) 鍵盤輸入鍵盤輸入How Are You? /There are many students and manytrees!/正確輸出正確輸出37參考程序:#include<stdio.h>main() int i,num=0,

30、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 元,而你第一天只需給我一分錢。第二天我仍給你m 元,你給我2 分錢。第三天,我仍給你m 元,你給我4分錢。依次類推,你每天給我的錢是前一天的兩倍,直到一個(gè)月(38)天。百萬(wàn)富翁很高興,欣接受這個(gè)契約?,F(xiàn)要求,編寫一個(gè)程序,由鍵盤輸入

31、 m,計(jì)算多少天后,百萬(wàn)富翁 開始虧錢。第一組自測(cè)數(shù)據(jù)18鍵盤輸入第二組自測(cè)數(shù)據(jù) 100/鍵盤輸入正確輸出10000/25正確輸出參考程序:#include <stdio.h>#include <math.h>main() int n,m,i;scanf ("%d",&m);for (i=1;i<=38;i+)if (0.01*(pow(2,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-wh

32、ile 語(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() 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) p

33、rintf("%dn",m);題目1035:打印菱形由鍵盤輸入正數(shù)n,要求輸出2*n+1行的菱形圖案。要求菱形左邊緊靠屏 幕左邊。 第二組自測(cè)數(shù) 鍵盤輸入2/ 正確輸出*第一組自測(cè)數(shù)據(jù)據(jù)鍵盤輸入3/正確輸出*參考程序:#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(" ");

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

35、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)康?)掌握一維數(shù)組和二維數(shù)組的定義、賦值和輸入輸出方法。2)掌握與數(shù)組有關(guān)的算法。二、實(shí)驗(yàn)內(nèi)容題目1039:倒序由鍵盤輸入10 個(gè)整數(shù),倒序輸出。數(shù)字間由一個(gè)空格分隔) 自測(cè)數(shù)據(jù)

36、鍵盤輸入70 5 14 2019 2 99 67 13 66/正確輸出66 13 67 99 2 19 20 14 5 70參考程序:#include<math.h>main() int a10;int i;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ù) 鍵盤輸入70 5 14 2219 2 99 67 13 66 5 93 44 38 22 11 39

37、 2233 11/正確輸出16提示上述答案中,因?yàn)?5 有 1 個(gè)重復(fù)數(shù)字,11 有 1 個(gè)重復(fù)數(shù)字,22 有 2個(gè)重復(fù)數(shù)字,故不同數(shù)字有16個(gè),分別是705 14 22 19 2 99 67 13 6693 44 38 1139 33參考程序:#include"stdio.h"main() int a20;int i,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

38、:打印矩陣由鍵盤輸入一個(gè)3X4的矩陣,要求輸出它的轉(zhuǎn)置矩陣 自測(cè)數(shù)據(jù) 鍵盤輸入正確輸出1 6 9 31 1 0 21 9 8 93 2 9參考程序:#include<stdio.h> main() int a34,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:冒泡排序由鍵盤輸入

39、10 個(gè)數(shù),用“冒泡法”對(duì) 10 個(gè)數(shù)從小到大排序,并按格式要求輸出。代碼如下,請(qǐng)?zhí)畛渫暾?shù)字間由一個(gè)空格分隔。#incude "stdio.h" main() int a10, 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ù) 鍵盤輸入70514 2019299671366/正確輸出2513 14192066677099參考程序:#include<stdio.

40、h> main() int a10;int i,j,t;for(i=0;i<10;i+) scanf("%d",&ai);for(i=0;i<9;i+)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ì)算高精度加法80 位) ,由鍵盤輸入兩個(gè)位數(shù)很長(zhǎng)的整數(shù)(一行一個(gè)數(shù),每個(gè)數(shù)最長(zhǎng)不超過試計(jì)算并輸出這兩個(gè)數(shù)的和。 自測(cè)數(shù)據(jù) 鍵盤輸入123456789012345678K9876

41、54321098765/正確輸出1235555544444555554參考程序:#include "stdio.h"#include "string.h"main() int a100=0,b100=0,c100=0;char s101;int i=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'i

42、f(n1>n2) max=n1;else max=n2;for(i=0;i<=max;i+)ci=(ai+bi+e)%10;e=(ai+bi+e)/10;if(cmax>0) printf("%d",cmax);for(i=max-1;i>=0;i-)printf("%d",ci); 題目:找矩陣中的鞍點(diǎn)由鍵盤輸入一個(gè)3 X43行4歹1)的矩陣,輸出矩陣中的鞍點(diǎn) 即在矩陣行中最大,列中最小的數(shù))。若沒有鞍點(diǎn),輸出“NO ”字樣。 自測(cè)數(shù)據(jù) 鍵盤輸入879011098/709721065/984512030/正確輸出110參考程序:

43、#include <stdio.h>main() int i,j,k,a34,max,maxj,flag;for(i=0;i<3;i+)for(j=0;j<4;j+) scanf("%d",&aij);for(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",ma

44、x);break;if(!flag) printf("NO");實(shí)驗(yàn) 8 字符數(shù)組的應(yīng)用一、實(shí)驗(yàn)?zāi)康?)掌握字符數(shù)組和字符串函數(shù)的使用。2)掌握與字符串處理有關(guān)的算法。二、實(shí)驗(yàn)內(nèi)容題目 1121:定義存貯字符串的字符數(shù)組在下面程序中填充定義字符數(shù)組的語(yǔ)句,使程序完整。#include "string.h"void main()char s80; /*定義字符數(shù)組s*/strcpy(s, "abcdefghijklmn");printf("%s", s);參考程序:題目1123:字符串的輸入與輸出下面程序?qū)崿F(xiàn)從鍵盤讀

45、入字符串,后輸出到屏幕,請(qǐng)?zhí)畛浔匾恼Z(yǔ)句。#include "stdio.h"void main()char s50;printf("What's your name?");gets(s); /* 由鍵盤讀入字符串*/printf("Your name is ", );printf("%s", s); /* 打印字符串*/參考程序:題目1122:字符串的合并從鍵盤輸入3 個(gè)字符串每個(gè)字符串以回車符做為結(jié)束標(biāo)志),將 3 個(gè)字符用以輸入先后順序合并到字符串 s 中,請(qǐng)?zhí)羁帐褂贸绦蛲暾?include &qu

46、ot;stdio.h"#include "string.h"main()char s100=""char a30;gets(a); strcat(s, a);gets(a); strcat(s, a);gets(a); strcat(s, a);/*可以寫多行代碼*/printf("%s", s); 自測(cè)數(shù)據(jù) 鍵盤輸入輸出 正確123 abc 456 參考程序:123abc456題目1050:尋找字符串由鍵盤輸入兩個(gè)字符串假設(shè)第一個(gè)字符串必包含第二個(gè)字符串,如第一個(gè)字符串為ABCDEF ,第二個(gè)為CDE,則CDE包含在ABC

47、DEF中),現(xiàn)要求編程輸出第二字符串 在第一行字符串中出現(xiàn)的位置。(如果第二個(gè)字符串在第一個(gè)字符串中出現(xiàn)多次,則以最前出現(xiàn)的為準(zhǔn))第一組自測(cè)數(shù)據(jù)第二組自測(cè)數(shù)據(jù)鍵盤輸入 入ABCDEFG / 鍵盤輸hellhello!DE /正確輸出4hello/正確輸提示方法1:建立雙重循環(huán),外層循環(huán)變量指示第一個(gè)串的查找起始位置,內(nèi)層循環(huán)從起始位置開始判斷第二個(gè)字符中是否出現(xiàn)在此處;方法2:使用字符串函數(shù)strstr()。參考程序:#include "stdio.h"main() int i,j;char a80, b80;gets(a); gets(b);for(i=0;ai!=

48、9;0'i+)for(j=0;bj!='0'j+)if(ai+j!=bj) break;if(bj='0') break;if (ai!='0') printf("%d",i+1); else printf("Not Found");實(shí)驗(yàn) 9 函數(shù)的基本應(yīng)用一、實(shí)驗(yàn)?zāi)康?)掌握定義函數(shù)的方法。2)掌握函數(shù)實(shí)參與參的對(duì)應(yīng)關(guān)系,以及“值傳遞”的方式。3)掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用的方法。4 )掌握全局變量和局部變量、動(dòng)態(tài)變量、靜態(tài)變量的概念和使用方法。二、實(shí)驗(yàn)內(nèi)容題目1059:函數(shù)定義下面是使用輾轉(zhuǎn)相

49、除法,求最大公約數(shù)的程序,請(qǐng)補(bǔ)充完整程序中函數(shù)的定義與調(diào)用。#include "stdio.h"int f(int m, int n)int r;while (r=m%n)!=0)m=n;n=r;return n;main()int a, 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ù)。long fanc(int a) long i,n=1;for(i=1;i&

50、lt;=a;i+) n=n*i;return n;void main() int n;scanf("%d", &n);printf("%ld", fanc(n);題目1124:函數(shù)中的變量寫出下面程序的運(yùn)行結(jié)果:int f1(int x) static int z=3,y=0;y+;z+;return(x+y+z);main() int a=1,k;for(k=0;k<3;k+) printf("%4d",f1(a);程序運(yùn)行結(jié)果為:6810 題目1084:編寫遞歸調(diào)用函數(shù),實(shí)現(xiàn)十進(jìn)制數(shù)轉(zhuǎn)二進(jìn)制數(shù)下面程序,實(shí)現(xiàn)由鍵盤輸入

51、一個(gè)正整數(shù)(不大于100000000),輸出其對(duì)應(yīng)的二進(jìn)制數(shù)原碼表示)。請(qǐng)?zhí)羁眨?include "stdio.h"void fun( int i ) if (i>1)fun(i/2) ;printf("%d", i%2);main() int n;scanf("%d", &n); fun(n)實(shí)驗(yàn) 10 指針與結(jié)構(gòu)體一、實(shí)驗(yàn)?zāi)康?)通過實(shí)驗(yàn)進(jìn)一步掌握指針的概念,會(huì)定義和使用指針變量。2)能正確使用數(shù)組的指針和指向數(shù)組的指針變量。3)能正確使用字符串的指針和指向字符中的指針變量。4 )掌握結(jié)構(gòu)體類型變量的定義和使用。、實(shí)

52、驗(yàn)內(nèi)容題目1091:交換兩數(shù),由大到小輸出下面程序,交換兩數(shù),使兩數(shù)由大到小輸出,請(qǐng)?zhí)羁?include "stdio.h"void swap( int *p1, int *p2 ) int temp;temp=*p1;*p1=*p2;*p2=temp;int main() int a,b; int *pa,*pb;scanf("%d%d", &a, &b);pa=&a; pb=&b;if(a<b) swap( pa, pb );printf("%d %dn",a,b);題目1065:數(shù)組中的指針

53、設(shè)有如下數(shù)組定義:int a34=1,3,5,7,9,11,13,15,17,19,21,23;計(jì)算下面各項(xiàng)的值設(shè)數(shù)組 a 的首地址為2000,一個(gè)int 類型數(shù)占四個(gè)字節(jié)) 。注意:地址則輸出地址,變量則輸出變量值;要求一行一個(gè)答案,不允許多余空行及空格。1) a212) a13) a4 ) a+15) *a+16) *(a+1)7) a2+18) *(a+1)+19) *(*(a+2)+2 )參考程序:#include "stdio.h"main() printf("19n");printf("2016n");printf(&qu

54、ot;2000n");printf("2016n");printf("2004n");printf("2016n");printf("2036n");printf("2020n");printf("21");題目1092:函數(shù)實(shí)現(xiàn)求字符串長(zhǎng)度下面程序以指針方式傳遞參數(shù),由函數(shù)實(shí)現(xiàn)求字符串長(zhǎng)度,請(qǐng)?zhí)羁胀瓿?include "stdio.h"#include "string.h"int f(char *p) return strl

55、en(p);int main() char s80;int i;scanf("%s", s);i=f(s);printf("%d", i);題目1125:定義結(jié)構(gòu)體類型要求定義一個(gè)名為student 的結(jié)構(gòu)體類型,其包含如下成員:1)字符數(shù)組name,最多可存放10個(gè)字符;2)字符變量sex,用于記錄性別;3)整數(shù)類型變量num,用于記錄學(xué)號(hào);4 ) float類型變量score,用于記錄成績(jī);并使下列代碼完整。/*定義結(jié)構(gòu)體類型*/struct student char name20;char sex;int num;float score;main()struct student stu;scanf("%s",);scanf("%*c%c", &stu.sex);scanf("%d",&stu.num);scanf("%f",&stu.score);printf("%sn", );printf(&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論