版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C語言程序設(shè)計(jì)課后習(xí)題1-8參考答案 習(xí)題1參考答案一、簡答題1、馮 諾依曼計(jì)算機(jī)模型有哪幾個(gè)基本組成部分?各部分的主要功能是什么?答:馮 諾依曼計(jì)算機(jī)模型是由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備、輸出設(shè)備五大功能部件組成的。 運(yùn)算器又稱算術(shù)邏輯部件,簡稱ALU,是計(jì)算機(jī)用來進(jìn)行數(shù)據(jù)運(yùn)算的部件。數(shù)據(jù)運(yùn)算包括算術(shù)運(yùn)算和邏輯運(yùn)算。 控制器是計(jì)算機(jī)的指揮系統(tǒng),計(jì)算機(jī)就是在控制器的控制下有條不紊地協(xié)調(diào)工作的。 存儲(chǔ)器是計(jì)算機(jī)中具有記憶能力的部件,用來存放程序和數(shù)據(jù)。 輸入設(shè)備是用來輸入程序和數(shù)據(jù)的部件。輸出設(shè)備正好與輸入設(shè)備相反,是用來輸出結(jié)果的部件。 2、簡述計(jì)算機(jī)的工作原理。答:計(jì)算機(jī)的工作原理可簡單
2、地概括為:各種各樣的信息,通過輸入設(shè)備,進(jìn)入計(jì)算機(jī)的存儲(chǔ)器,然后送到運(yùn)算器,運(yùn)算完畢把結(jié)果送到存儲(chǔ)器存儲(chǔ),最后通過輸出設(shè)備顯示出來。整個(gè)過程由控制器進(jìn)行控制。 3、計(jì)算機(jī)軟件系統(tǒng)分為哪幾類?答:軟件內(nèi)容豐富,種類繁多,通常根據(jù)軟件用途將其分為兩大類:系統(tǒng)軟件和應(yīng)用軟件。 系統(tǒng)軟件是指管理、監(jiān)控、維護(hù)計(jì)算機(jī)正常工作和供用戶操作使用計(jì)算機(jī)的軟件。這類軟件一般與具體應(yīng)用無關(guān),是在系統(tǒng)一級上提供的服務(wù)。系統(tǒng)軟件主要包括以下兩類:一類是面向計(jì)算機(jī)本身的軟件,如操作系統(tǒng)、診斷程序等。另一類是面向用戶的軟件,如各種語言處理程序(像BC、VC等)、實(shí)用程序、字處理程序等。 應(yīng)用程序是指某特定領(lǐng)域中的某種具體應(yīng)
3、用,供最終用戶使用的軟件,它必須在操作系統(tǒng)的基礎(chǔ)上運(yùn)行。 4、什么叫軟件?說明軟件與硬件之間的相互關(guān)系。答:軟件是指計(jì)算機(jī)程序及有關(guān)程序的技術(shù)文檔資料。兩者中更為重要的是程序,它是計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理的指令集,也是計(jì)算機(jī)正常工作最重要的因素。在不太嚴(yán)格的情況下,認(rèn)為程序就是軟件。硬件與軟件是相互依存的,軟件依賴于硬件的物質(zhì)條件,而硬件則需在軟件支配下才能有效地工作。在現(xiàn)代,軟件技術(shù)變得越來越重要,有了軟件,用戶面對的將不再是物理計(jì)算機(jī),而是一臺抽象的邏輯計(jì)算機(jī),人們可以不必了解計(jì)算機(jī)本身,可以采用更加方便、更加有效地手段使用計(jì)算機(jī)。從這個(gè)意義上說,軟件是用戶與機(jī)器的接口。 二、填空題1、算術(shù) 邏
4、輯2、鍵盤 鼠標(biāo)3、控制器 運(yùn)算器4、10 25、0 0x6、原碼 反碼 補(bǔ)碼7、00010111 111010018、127 -128 三、選擇題1、C 2、A 3、B 4、A 5、B 6、B 7、D 8、A 9、A 10、B 11、A 12、B 習(xí)題2參考答案一、簡答題1、C語言有哪些特點(diǎn)?答:(1)簡潔緊湊、靈活方便;(2)運(yùn)算符豐富;(3)數(shù)據(jù)結(jié)構(gòu)豐富;(4)C語言是結(jié)構(gòu)式語言;(5)C語言的語法限制不太嚴(yán)格、程序設(shè)計(jì)自由度大;(6)C語言允許直接訪問物理地址,可以直接對硬件進(jìn)行操作;(7)C語言程序生成代碼質(zhì)量高,程序執(zhí)行效率高;(8)C語言使用范圍大,可移至性好;(9)具有預(yù)處理功
5、能;(10)具有遞歸功能。 2、C語言的主要應(yīng)用有哪些?答:(1)許多系統(tǒng)軟件和大型應(yīng)用軟件都是用C語言編寫的,如UNIX、Linux等操作系統(tǒng)。(2)在軟件需要對硬件進(jìn)行操作的場合,用C語言明顯優(yōu)于其他高級語言。例如,各種硬件設(shè)備的驅(qū)動(dòng)程序(像顯卡驅(qū)動(dòng)程序、打印機(jī)驅(qū)動(dòng)程序等)一般都是用C語言編寫的。(3)在圖形、圖像及動(dòng)畫處理方面,C語言具有絕對優(yōu)勢,特別是游戲軟件的開發(fā)主要就是使用C語言。(4)隨著計(jì)算機(jī)網(wǎng)絡(luò)飛速發(fā)展,特別是Internet的出現(xiàn),計(jì)算機(jī)通信就顯得尤其重要,而通信程序的編制首選就是C語言。(5)C語言適用于多種操作系統(tǒng),像Windows、UNIX、Linux等絕大多數(shù)操作系
6、統(tǒng)都支持C語言,其他高級語言未必能得到支持,所以在某個(gè)特定操作系統(tǒng)下運(yùn)行的軟件用C語言編制是最佳選擇。 3、列舉幾種程序設(shè)計(jì)語言。答:C語言、Java語言、Pascal語言、BASIC語言、LOGO語言等。 二、填空題1、機(jī)器語言 匯編語言 高級語言2、機(jī)器語言3、ALGOL 604、多個(gè)函數(shù)5、main6、#include7、定義 使用8、聲明部分 執(zhí)行部分 聲明部分 執(zhí)行部分 三、選擇題1、D 2、B 3、B 4、C 5、C 6、C 7、D 8、C 9、D 10、A 11、B 12、 A 13、B 14、C 15、A 習(xí)題3參考答案一、填空題1、整型 字符型 實(shí)型2、字母 數(shù)字 下劃線 字
7、母 下劃線3、直接 符號 符號4、0 0x5、1 26、4 87、-32768327678、-169、x+=1;10、2611、(m/10)%10*100+m/100(100*10)+m%10 二、選擇題1、D 2、C 3、A 4、B 5、B 6、D 7、B 8、C 9、A 10、A 11、C 12、B 13、B 14、D 15、B 16、D 17、B 18、D 19、C 20、A 21、B 22、D 23、D 24、D 25、D 26、D 27、C 28、A 29、C 30、B 習(xí)題4參考答案一、填空題1、scanf printf2、按指定的輸出格式將信息輸出到屏幕上 常規(guī)字符 格式控制符3
8、、X、E、G4、getche輸入的字符回顯,而getch輸入的字符不回顯5、fflush6、解決某個(gè)問題的具體的方法和步驟7、自然語言描述 偽代碼 流程圖 N-S圖8、順序 分支 循環(huán) 二、選擇題1、B 2、C 3、D 4、C 5、B 6、C 7、D 8、C 9、B 10、B 11、D 12、C 13、D 14、D 15、A 三、編程題1、編寫一程序要求任意輸入四位十六進(jìn)制整數(shù),以反序的方式輸出該十六進(jìn)制數(shù)。例如:輸入9AF0,則輸出0FA9。 #include void main() unsigned short a, b; scanf(“%4x”, &a) /輸入4位十六進(jìn)制數(shù)給變a b=
9、(a & 0X000F)12; /取a的最低一位十六進(jìn)制數(shù)并左移12位后賦值給b b+=(a & 0X00F0)4; /取a的次第一位十六進(jìn)制數(shù)并左移4位后與b相加再賦值給b b+=(a & 0X0F00)4; /取a 的次高一位十六進(jìn)制數(shù)并右移4位后與b相加再賦值給b b+=(a & 0XF000)12; /取a的最高一位十六進(jìn)制數(shù)并右移12位后與b相加再賦值給b printf(“%4xn”, b); /輸出變化后的十六進(jìn)制數(shù) 2、編程從鍵盤輸入兩個(gè)整數(shù)分別給變量a和b,要求在不借助于其他變量的條件下,將變量a和b的值實(shí)現(xiàn)交換。 #include void main() int a, b;
10、scanf(“%d%d”, &a, &b); printf(“before swap: a=%d b=%dn”, a,b); a=a+b; b=a-b; a=a-b; printf(“after swap: a=%d b=%dn”, a, b); 3、編程從鍵盤輸入圓的半徑r,計(jì)算出圓的周長和面積。 #include #define PI 3.14159 void main() float r, c, s; scanf(“%f”, &r); c=2*r*PI; s=PI*r*r; printf(“c=%f s=%fn”, c, s); 4、編程從鍵盤輸入任意一個(gè)十六進(jìn)制負(fù)整數(shù),以輸入的形式輸出
11、。例如:輸入-FA98,輸出-FA98。 #include void main() short int a; scanf(“%x”, &a); printf(“-%hxn”, -a); 5、已知一元二次方程ax2+bx+c=0,編一程序當(dāng)從鍵盤輸入a、b、c的值后,計(jì)算x的值。 #include #include void main() float a, b, c; float d; float x1, x2; printf(“input a, b, c: ”); scanf(“%f%f%f”, &a, &b, &c); d=sqrt(b*b-4*a*c); x1=(-b+d)/(2*a);
12、x2=(-b-d)/(2*a); printf(“x1=%.2f x2=%.2fn”, x1, x2); 6、假設(shè)從鍵盤輸入某日午夜零點(diǎn)到現(xiàn)在已經(jīng)歷的時(shí)間(單位:s),遍一程序計(jì)算到現(xiàn)在為止已近過了多少天,現(xiàn)在的時(shí)間是多少? #include void main() unsigned long t, r; int d, h, m, s; printf(“second=”); scanf(“%d”, &t); d=t/(24*3600); r=t%(24*3600); h=r/3600; m=(r%3600)/60; s=(r%3600)%60; printf(“have passed days
13、 is %d, current time is %02d:%02d:%02dn”, d, h, m, s): 習(xí)題5參考答案編程題1、編一程序判斷輸入整數(shù)的正負(fù)性和奇偶性。 #include void main() int a; scanf(“%d”, &a); if (a=0) printf(“the number %d is positive numbern”, a); else printf(“the number %d is negative numbern”, a); if (a%2=0) printf(“the number %d is even numbern”, a); els
14、e printf(“the number %d is odd numbern”, a); 2、編程判斷輸入數(shù)據(jù)的符號屬性。#includevoid main()int x, sign;scanf(“%d”, &x);if (x0) sign=1;else if (x=0) sign=0; else sign=-1;printf(“sign= %dn”, sign);3、輸入任意三個(gè)數(shù)num1、num2、num3,按從小到大的順序排序輸出。#includevoid main()int num1, num2, num3;scanf(“%d%d%d”, &num1, &num2, &num3);if
15、 (num1=num2) if (num2=num3) printf(“%d %d %dn”, num3, num1, num2); else printf(“%d %d %dn”, num1, num3, num2);else if (num2=num3) printf(“%d %d %dn”, num3, num2, num1); else if (num1=num3) printf(“%d %d %dn”, num2, num3, num1); else printf(“%d %d %dn”, num2, num1, num3); 4、在屏幕上顯示一張如下所示的時(shí)間表。 #include
16、 void main() char c; printf(“*Time*n”);printf(“1 morningn”);printf(“2 afternoonn”);printf(“3 nightn”);printf(“Please enter your choice: ”);c=getcahr();switch (c)case 1: printf(“Good morningn”); brenk;case 2: printf(“Good afternoonn”); break;case 3: printf(“Good nightn”); break;default: printf(“Selec
17、tion error!n”); 5、輸入一個(gè)年份和月份,打印出該月份有多少天(考慮閏年),用switch語句編程。 #include void main() int year, month; printf(“Input year, month: ”); scanf(“%d %d”, &year, &month); switch (month) case 1: case 3: case 5: case 7: case 8: case 10: case 12: printf(“31 daysn”); break; case 4: case 6: case 9: case 11: printf(“3
18、0 daysn”); break; case 2: if (year%4=0 & year%100!=0)| (year%400=0) printf(“29 daysn”); else printf(“28 daysn”); break; default: printf(“Input error!n”); 習(xí)題6參考答案編程題1、編程計(jì)算2+4+6+98+100的值。(1)利用for循環(huán)語句實(shí)現(xiàn),在循環(huán)體外為sum賦初值0。#includevoid main()int i, sum=0;for(i=2; i=100; i+=2)sum+=i;printf(“sum= %dn”, sum);(2
19、)利用while循環(huán)語句實(shí)現(xiàn),在循環(huán)體外為i和sum賦初值。#includevoid main()int i=2, sum=0;while(i=100)sum+=i;i+=2;printf(“sum= %dn”, sum); 2、編程計(jì)算1*2*3+4*5*6+99*100*101的值。#includevoid main()int i;long term, sum=0;for(i=1; i=99; i+=2)term=i*(i+1)*(i+2);sum+=term;printf(“sum= %dn”, sum);3、編程計(jì)算1!+2!+3!+10!的值。(1)用累加和算法,累加項(xiàng)為term=t
20、erm*i; i=1,2,10。Term的初始值為1,使用單重循環(huán)完成。#includevoid main()long term=1, sum=0;int i;for(i=1; i=10; i+)term*=i;sum+=term;printf(“1!+2!+3!+10! = %ldn”, sum);(2)用內(nèi)層循環(huán)求階乘,外層循環(huán)控制累加的項(xiàng)數(shù)。#includevoid main()long term, sum=0;int i, j;for(i=1; i=10; i+)term=1;for(j=1; j=i; j+) term*=j;sum+=term;printf(“1!+2!+3!+10
21、! = %ldn”, sum); 4、編程計(jì)算a+aa+aaa+aa.a(n個(gè)a)的值,n和a的值由鍵盤輸入。#includevoid main()long term=0, sum=0;int a, i, n;printf(“Input a, n:n”);scanf(“%d,%d”, &a, &n);for(i=1; i=n; i+)term=term*10+a;sum+=term;printf(“sum=%ldn”, sum); 5、參考答案:#includevoid main()float term, result=1;int n;for(n=2; n=100; n+=2)term=(fl
22、oat)(n*n)/(n-1)*(n+1);result*=term;printf(“result=%fn”, 2*result); 6、參考答案:#include#includevoid main()int n=1, count=0;float x;double sum, term;printf(“Input x: ”)scanf(“%f”, &x);sum=x;term=x;doterm=-term*x*x/(n+1)(n+2); /計(jì)算相應(yīng)項(xiàng),并改相應(yīng)符號sum+=term;n+=2;count+;while(fabs(term)=le-5);printf(“sin(x) = %f, c
23、ount= %dn”, sum, count); 7、參考答案:#includevoid main()int i, j, k, n;printf(“result is: ”);for(n=100; n1000; n+)i=n/100; /分出百位j=(n-i*100)/10 /分出十位k=n%10; /分出個(gè)位if(n=i*i*i+j*j*j+k*k*k) printf(“%d ”, n);printf(“n”); 8、參考答案:#include#includevoid main()int i1, i2, i3, i4, k, n;printf(“Input data is: ”);scanf
24、(“%d”, &n);k=abs(n);i1=k/1000; /分離出千位i2=(k-i1*1000)/100 /分離出百位i3=(k-i1*1000-i2*100)/10 /分離出十位i4=k%10; /分離出個(gè)位printf(“The sum of the total bit is %dn”, i1+i2+i3+i4); 9、參考答案:#includevoid main()int n, m=0, s, r;printf(“Input data is: ”);scanf(“%d”, &n);s=n;While(s!=0)r=s%10; /從低位到高位逐一分離m=10*m+r; /重新組合一正
25、數(shù)s=s/10; /求其商if(m=n)printf(“yesn”);elseprintf(“non”); 10、參考答案:#includevoid main()int x, y, z, count=0; /x,y,z分別表示5分、2分和1分硬幣的數(shù)量for(x=1; x=28; x+) /5分硬幣最多不超過28枚 for(y=1; y=73; y+) /2分硬幣最多不超過73枚 z=100-x-y; /共有100枚硬幣,減去5分和2分硬幣后為1分硬幣數(shù)量 if(5*x+2*y+z=150) count+ /增加一種方案 printf(“%02d, %02d, %02d ”, x, y, z)
26、; /輸出每一種方案 if (count%6=0) printf(“n”); /沒輸出6種方案后,換行 printf(“count=%dn”, count); 11、設(shè)計(jì)思想:將A、B、C、D4個(gè)人的回答用一條件表達(dá)式來表示,對于A的回答:thisman!=A;對于B的回答:thisman=C;對于C的回答:thisman=D;對于D的回答:thisman!=D;然后,采用枚舉的方法,一個(gè)人一個(gè)人的去試,如果這4個(gè)條件表達(dá)式中有3個(gè)為真,即4個(gè)條件表達(dá)式的值相加為3,則可判定是其中某人做的好事。參考答案:#includevoid main()int k=0; sum=0; g=0;char t
27、hisman=;for (k=0; k=3; k+) /循環(huán)控制變量為k,循環(huán)共進(jìn)行4次thisman=A+k; /初始認(rèn)為A做好事,依次為B、C、Dsum=(thisman!=A)+(thisman=C)+(thisman=D)+(thisman!=D);if (sum=3)printf(“This man is %cn”, thisman);g=1;if (g!=1) printf(“Cant foundn”); 12、參考答案(1):#includevoid main()int i, j;for (i=1; i=3; i+) /先顯示前三行 for (j=1; j=i-1; j+) /輸
28、出每行前的空格 printf(“ ”); for (j=1; j=5-2*(i-1); j+) /輸出每行的*號 printf(“*”); printf(“n”);for (i=1; i=2; i+) /接著顯示后兩行 for (j=1; j=2-i; j+) printf(“ ”); for (j=1; j=2*i+1; j+) printf(“*”); printf(“n”);參考答案(2):#includevoid main()int i, j, k;for (i=1; i=5; i+) /i控制行數(shù) for (j=1; j=5-i; j+) /隨行數(shù)的增加,輸出遞減數(shù)目的空格 prin
29、tf(“ ”); for (k=1; k=5; k+) /每行輸出5個(gè)*字符 printf(“*”); printf(“n”); /將光標(biāo)移到下一行起始位置處參考答案(3):#includevoid main()int i, j;for (i=1; i=5; i+) for (j=1; j=2*(i-1)+1; j+) printf(“*”); printf(“n”); 習(xí)題7參考答案編程題1、參考答案:#includevoid main()int i, sum=0; a20;for (i=0; i20; i+) Scanf(“%d”, &ai); /輸入20個(gè)整數(shù)for (i=0; i20;
30、 i+) /對非負(fù)數(shù)進(jìn)行統(tǒng)計(jì) if (ai0)continue; /為負(fù)數(shù),進(jìn)入下一輪循環(huán)sum+=ai; /非負(fù)數(shù)累計(jì)printf(“sum= %dn”, sum); 2、參考答案#includevoid main()int i, j, odd, even, n, t, a10;odd=0;even=9;for(i=0; i10; i+) /將鍵盤輸入的數(shù)據(jù)存入數(shù)組中 scanf(“%d”, &n); if (n%2!=0) aodd+=n; /將奇數(shù)放置在數(shù)組的左邊 else aeven-=n; /將偶數(shù)放置在數(shù)組的喲邊 for (i=0; iodd-1; i+) /通過選擇排序?qū)ζ鏀?shù)進(jìn)行
31、升序排列n=j;for (j=i+1; jodd; j+) if (ajan) n=j;if (n!=i)t=ai;ai=an;an=t;for (i=odd; i9; i+) /通過選擇排序?qū)ε紨?shù)進(jìn)行升序排列n=i;for (j=i+1; j10; j+) if (ajan) n=j;If (n!=i)t=ai;ai=an;an=t;for (i=0; i10; i+) printf(“%d”, ai); 輸出排序結(jié)果printf(“n”); 3、參考答案:#includevoid main()int i, max, min, a10;printf(“Input 10 integer num
32、ber: ”); /輸入10個(gè)整數(shù)for(i=0; i10; i+) scanf(“%d”, &ai);max=0;min=0;for(i=1; iamax) max=i;if (aiamin)min=i;i=amax;amax=amin;amin=i;for(i=0; i10; i+) printf(“%d ”, ai);printf(“n”);4、參考答案:#includevoid main()int i, j, t, a6;printf(“Input 6 integer number: ”);for(i=0; i6; i+) scanf(“%d”, &ai);printf(“n”);fo
33、r(i=0; i6; i+) for (j=0; j0; j-) aj=aj-1;a0=t; 5、參考答案:#includevoid main()int i, j, sum=0, mul=1, a55;printf(“Input 5*5 array:n”);for(i=0; i5; i+) for(j=0; j5; j+) scanf(“%d”, &aij);printf(“n”);for(i=0; i5; i+)sum+=aij;if(i!=2) sum+=ai4-i;if(i%2!=0) continue;mul*=aii;if(i!=2) mul*=ai4-i;printf(“sum =
34、 %d mul = %dn”, sum, mul); 6、參考答案:#include#define N 6void main()int i, j, aNN;for(i=0; iN; i+)ai0=1;aii=1;for(j=1; ji; j+) aij=ai-1j-1+ai-1j;for(i=0; iN; i+)for(j=0; jN-i-1; j+) printf(“ ”);for(j=0; j=i; j+) printf(“%2d ”, aij);printf(“n”); 7、參考答案:#include#include#define N 80void main()char strN;int
35、 i;printf(“Input a string: ”);gets(str);printf(“After reverse: ”);for(i=strlen(str)-1; i=0; i-) printf(“%c”, stri);printf(“n”); 8、參考答案:#include#include#define N 80void main()char strN, strtempN;unsigned int i, j;printf(“Input a string: ”);gets(str);for(i=0, j=0; istrlen(str); i+) if(stri!=c) strtemp
36、j+=stri;strtempj=0;strcpy(str, strtemp);printf(“After delete character c: ”);printf(“%sn”, str);9、參考答案:#include#define N 80void main()char s1N, s2N=”abcdefg0hijk”;unsigned int i;i=0;while(1)s1i=s2i;if(s2i=0) break;i+;printf(“After string copy: %sn”, s1); 10、參考答案:#includevoid main()char dstStr20=1234
37、5, srcStr20=67890;unsigned int i, j;printf(“Before strcat: dstStr=%s srcStr=%sn”, dstStr, srcStr);for(i=0; dstStri!=0; i+) ;for(j=0; srcStrj!=0; j+) dstStri+j=srcStrj;dstStri+j=0;printf(“After strcat: dstStr=%sn”, dstStr); 11、參考答案:#includevoid main()int a10=1,3,5,7,9, num=5, i, n;printf(“Before inse
38、rt: ”);for(i=0; i=0; i-) if(ain) ai+1=ai; else break;ai+1=n;printf(“After insert: ”);for(i=0; inum+1; i+) printf(“%d”, ai);printf(“n”);s 習(xí)題8參考答案編程題1、設(shè)計(jì)一個(gè)函數(shù),用來判斷一個(gè)整數(shù)是否為素?cái)?shù)。參考答案:#include#includeint IsPrimeNumber (int number );void main()int a;printf(“Input a integer number: ”);scanf(“%d”, &a);if(IsPrim
39、eNumber(a) printf(“%d is prime number.n”, a);else printf(“%d isnt prime number.n”, a);int IsPrimeNumber(int number)int I;if(number=-1) return(0);for(i=2; isqrt(number); i+) if(number%i=0) return(0);return(i); 2、設(shè)計(jì)函數(shù)MaxCommonFactor(),計(jì)算兩個(gè)正整數(shù)的最大公約數(shù)。參考答案:#includeint MaxCommonFactor(int a, int b);void m
40、ain()int a,b,c;printf(“Input two integer number: ”);scanf(“%d%d”, &a,&b);c=MaxCommonFactor(a,b);if(c!=-1) printf(“The biggest common factor of %d and %d is %dn”, a,b,c);else printf(“The biggest common factor of %d and %d isnt existn”, a,b);int MaxCommonFactor(int a, int b)if(a=0|bb) a=a-b;elseif(ba)
41、 b=b-a;ruturn(a); 3、定義函數(shù)GetData()用于接收鍵盤輸入的一組整型數(shù)據(jù),并放入一數(shù)組中;另外再定義一個(gè)函數(shù)Sort()用于對輸入的這一組數(shù)據(jù)按照降序排列。主函數(shù)向后調(diào)用GetData和Sort函數(shù),輸出最后的排序結(jié)果。參考答案:#include#define N 10void GetData(int a,int n);void Sort(int a,int n);void main()int i,aN;GetData(a,N);Sort(a,N);printf(“After sort: ”);for(i=0;in;i+) printf(“%d”,ai);printf(
42、“n”);void GetData(int a,int n)int i;printf(“Input number: ”);for(i=0;in;i+) scanf(“%d”,&ai);void Sort(int a,int n)int i,j,k,t;for(i=0;in-1;i+)k=i;for(j=i+1;jak) k=j;if(k!=i)t=ai;ai=ak;ak=t; 4、參考答案:#include#includevoid JsSort(char str);void main()char str80;printf(“Input a string: ”)gets(str);JsSort(
43、str);printf(“After sort: %sn”, str);void JsSort(char str)int i,j,k,len;char ch;len=strlen(str);for(i=1;ilen-1;i+=2)k=i;for(j=i+2;jstrk) k=j;if(k!=j)ch=stri;stri=strk;strk=ch; 5.參考答案:#include#include#define N 30void Josegh(int p,int n, int s,int m);void main()int i,pN;Josegh(p,N,1,10);for(i=N-1;i=0;i-)printf(“ %4d”,pi);if(i%10=0) printf(“n”);void Josegh(int p,int n,int s,int m)int i,j,s1,w;s1=s;for(i=1;i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版建材城租賃合同規(guī)范模板2篇
- 2025年度煤場土地租賃及綜合利用合同規(guī)范樣本4篇
- 二零二五年茶葉茶具連鎖經(jīng)營授權(quán)合同3篇
- 2025年蝦苗養(yǎng)殖基地飼料智能化管理系統(tǒng)采購合同范本3篇
- 二零二五年度藝術(shù)品交易與展覽推廣三方居間合同
- 2025年度智慧路燈控制系統(tǒng)開發(fā)與集成合同書4篇
- 二零二五年度機(jī)器人關(guān)節(jié)零配件供應(yīng)鏈合同3篇
- 二零二五年度蘇州國際快遞服務(wù)合同
- 二零二五版國際建筑材料代理銷售合同3篇
- 二零二五版辦公設(shè)施租賃服務(wù)合同2篇
- 廣東省佛山市2025屆高三高中教學(xué)質(zhì)量檢測 (一)化學(xué)試題(含答案)
- 《國有控股上市公司高管薪酬的管控研究》
- 餐飲業(yè)環(huán)境保護(hù)管理方案
- 人教版【初中數(shù)學(xué)】知識點(diǎn)總結(jié)-全面+九年級上冊數(shù)學(xué)全冊教案
- 食品安全分享
- 礦山機(jī)械設(shè)備安全管理制度
- 計(jì)算機(jī)等級考試二級WPS Office高級應(yīng)用與設(shè)計(jì)試題及答案指導(dǎo)(2025年)
- 造價(jià)框架協(xié)議合同范例
- 糖尿病肢端壞疽
- 心衰患者的個(gè)案護(hù)理
- 醫(yī)護(hù)人員禮儀培訓(xùn)
評論
0/150
提交評論