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

下載本文檔

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

文檔簡(jiǎn)介

C語言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書參考答案上級(jí)實(shí)驗(yàn)參考答案#include"stdio.h"#include"math.h"intmain(){inti;doublea,for(i=0;i<=100000;++i){a=sqrt(i+100);b=sqrt(i+168);if((int)a==ceil(a)&&(int)b==ceil(b))printf("%d\n",i);}}實(shí)驗(yàn)2 基本數(shù)據(jù)類型、運(yùn)算和表達(dá)式一、實(shí)驗(yàn)?zāi)康恼莆誄 語言數(shù)據(jù)類型熟悉如何定義一個(gè)掌握不同的類型數(shù)據(jù)之間賦值的規(guī)。學(xué)會(huì)使用if((int)a==ceil(a)&&(int)b==ceil(b))printf("%d\n",i);}}實(shí)驗(yàn)2 基本數(shù)據(jù)類型、運(yùn)算和表達(dá)式一、實(shí)驗(yàn)?zāi)康恼莆誄 語言數(shù)據(jù)類型熟悉如何定義一個(gè)掌握不同的類型數(shù)據(jù)之間賦值的規(guī)。--)運(yùn)算符的使用。4 )進(jìn)一步熟悉C 程序的編輯、編譯、連和運(yùn)行的過程。二、實(shí)驗(yàn)內(nèi)容1. 變量的定義[題目1117:變量定義,按要求完成程序]下面給出一個(gè)可以運(yùn)行的程序,但是缺少部分語句,請(qǐng)按右邊的提示補(bǔ)充完整缺少的語句。voidmain(){*/b,i,j);}

inta,b; /*定義整型變量a 和b*/inti,j; /*定義實(shí)型變量i和a=5;b=6;i=3.14;j=i*a*b;printf("a=%d,b=%d,i=%f,j=%f\n", [具體操作步驟]1)TCVC++上運(yùn)行通過;3)JudgeOnline2. 賦值表達(dá)式與賦值語句2. 賦值表達(dá)式與賦值語句[運(yùn)行結(jié)果]閱讀下面程序,寫出運(yùn)行結(jié)果:void main(){ floata;intb,c;chard,e;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,\[提示]賦值語句具有類型轉(zhuǎn)換的功能,但可能會(huì)改變數(shù)據(jù)。3. 基本運(yùn)算[題目[提示]賦值語句具有類型轉(zhuǎn)換的功能,但可能會(huì)改變數(shù)據(jù)。3. 基本運(yùn)算[題目1119:基本運(yùn)算,寫出程序運(yùn)行結(jié)果]閱讀下面程序,寫出運(yùn)行結(jié)果:void main(){ inta,b,c;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)康膒utchargetcharprintfscanf函數(shù)的使用方法。掌握各種類型數(shù)據(jù)的輸入輸出的方法,[題目1126:字符的輸入與輸出]上輸出該字符。[ 第 一 組 自 測(cè) 數(shù) 據(jù) [第二組自測(cè)數(shù)據(jù)][ 鍵 盤 輸 入 ][鍵盤輸入]a+↙[a+↙[↙正確輸出][正確輸出]a+參考程序:#include"stdio.h"main(){charch;}[題目1127:計(jì)算加法]確的結(jié)果。兩個(gè)加數(shù)均為整數(shù))[ 第 一 組 自 測(cè) 數(shù) 據(jù) [第二組自測(cè)數(shù)據(jù)][ 鍵 盤 輸 入 ][鍵盤輸入]10+20-15+6010+20-15+60↙[↙正確輸出][正確輸出]3045參考程序:#include"stdio.h"main(){inta,b;scanf("%d%*c%d",&a,&b);}[題目1014:求圓面積]由鍵盤輸入圓半徑3.14159,結(jié)果保留兩位小數(shù)位;另外,程序只要能對(duì)r010000答案即可)[ 第 一 組 自 測(cè) 數(shù) 據(jù) ][鍵盤輸入]65.2[65.2[鍵盤輸入]↙[11.2↙13355.02[正確輸出]正確輸出][394.08[提示]結(jié)果保留兩位小數(shù)可采用第二組自測(cè)數(shù)據(jù)]printf 函數(shù)#include"stdio.h"main(){ floatarea,r;scanf("%f",&r);area=3.14159*r*r;printf("%0.2f",area);}[題目1015:計(jì)算攝氏溫度值[題目1015:計(jì)算攝氏溫度值]輸出其對(duì)應(yīng)的攝氏溫度值,精確到小數(shù)點(diǎn)后兩位。數(shù)學(xué)公式描述為:5C=(F-32)[9第一組自測(cè)數(shù)據(jù)][ 鍵 盤 輸 入 ][鍵盤輸入]100 ↙100↙[ 正 確 輸 出 ][正確輸出]37.7837.78[提示]注意公式中的除為普通除法。參考程序:#include<stdio.h>#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)康牧私釩語言表示邏輯的方法以0 代“假,以非0 代表“真。學(xué)會(huì)正確使用邏輯運(yùn)算符和邏輯表達(dá)式3)ifswitch語句。4 )二、實(shí)驗(yàn)內(nèi)容[題目1120:判斷點(diǎn)是否在圓],要求編程判斷這個(gè)點(diǎn)是否在單位圓上,點(diǎn)在圓上輸出不在圓上輸出N3位精度進(jìn)行判斷。[ 第 一 組 自 測(cè) 數(shù) 據(jù) ][第二組自測(cè)數(shù)據(jù)][ 鍵 盤 輸 入 ][鍵盤輸入]0.707,0.7070.5,0.5↙[ 正[正確輸出]Y

↙確 輸 出 ]N[提示] 1)平面上的點(diǎn)與圓的關(guān)系分為在圓內(nèi)、在圓上、在圓外三種,本題要求判斷是否在圓上;2)判斷兩實(shí)數(shù)相等采用判斷這兩實(shí)數(shù)的差的絕(實(shí)現(xiàn)。參考程序:#include"stdio.h"#includevoidmain(){floata,b;scanf("%f,%f",&a,&b);if(fabs(a*a+b*b-1)<1e-3)printf("Y\n");#include"stdio.h"#includevoidmain(){floata,b;scanf("%f,%f",&a,&b);if(fabs(a*a+b*b-1)<1e-3)printf("Y\n");elseprintf("N\n");}[1017:求數(shù)的位數(shù)][ 第 一 組 自 測(cè) 數(shù) 據(jù) ][第二組自測(cè)數(shù)據(jù)][ 鍵 盤 輸 入 ][鍵盤輸入]349213 ↙10000↙[ 正 確 輸 出 ][正確輸出]65[提示]劃定一位數(shù)、二位數(shù)、…、九位數(shù)的范圍,后用ifelse語句實(shí)現(xiàn)判斷?!?[提示]劃定一位數(shù)、二位數(shù)、…、九位數(shù)的范圍,后用ifelse語句實(shí)現(xiàn)判斷。…else if …參考程序:main(){intn,place;scanf("%ld",&n);if(n>99999999)place=9;elseif(n>9999) elseif(n>999) place=4;elseif(n>99) place=3;elseif(n>9) place=2;else place=1;printf("%ld\n",place);}[1018:數(shù)的排序]a、b、c到大的順序輸出這三個(gè)數(shù)。[ 第 一 組 自 測(cè)[第二組自測(cè)數(shù)據(jù)][ 鍵 盤 輸[鍵盤輸入]65,45,909,6,3↙[ 正 確 輸[正確輸出]45,65,903,6,9參考程序:

數(shù) 據(jù) ]入 ]↙出 ]#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",a,b,c);}[題目1016}[題目1016:字符變換]由鍵盤輸入5 個(gè)字符將其中的大寫字序逐個(gè)輸出。[第一組自測(cè)數(shù)據(jù)][第二組自測(cè)數(shù)據(jù)][鍵盤輸入][鍵盤輸入]ApPLe↙[ 正 確 輸 出 ][正確輸出]applea+b=5[提示]下面代碼實(shí)現(xiàn)由鍵盤讀入一個(gè)字符,并按題意處理后輸出char a;a=getchar();if(a>='A'&&a<='Z') putchar(a);現(xiàn)在,題目要求處理 5 個(gè)字符,怎么做呢?請(qǐng)自己思考……參考程序:現(xiàn)在,題目要求處理 5 個(gè)字符,怎么做呢?請(qǐng)自己思考……參考程序:#include<stdio.h>main(){chara,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>='A')b=b+32;printf("%c%c%c%c%c",a,b,c,d,e);}[題目1019:數(shù)的整除]5否被27整除,能的輸出“YES”注意,輸出時(shí),一個(gè)判斷結(jié)果占一行,5個(gè)數(shù)的判斷共占5 共占5 行。[第一組自測(cè)數(shù)據(jù)][第二組自測(cè)數(shù)據(jù)][鍵盤輸入][鍵盤輸入]88 [2717577正1757732554 ↙325確54↙輸出][正確輸出]NONOYESYESNONOYESYES[提示]整除即除得余數(shù)為0參考程序:#include"stdio.h"main(){ inta,b,c,d,e;scanf("%d%d%d%d%d",&a,&b,&c,&d,&e);if(a%27==0)printf("NO\n");if(b%27==0)printf("NO\n");if(c%27==0)printf("NO\n");if(d%27==0)printf("NO\n");

printf("YES\n");elseprintf("YES\n");elseprintf("YES\n");elseprintf("YES\n");elseif(e%27==0) printf("YES\n");elseprintf("NO\n");}[題目1020:正負(fù)奇偶判斷]positivenegative,接著判斷該數(shù)的奇偶性,奇數(shù)輸出odd,偶數(shù)輸出even。[第[第一組自測(cè)數(shù)據(jù)]negative[odd-43鍵盤輸入]↙[第二組自測(cè)數(shù)據(jù)][正確輸出][鍵盤輸入]98positive↙[正確輸出]參考程序:#include"stdio.h"main(){ intn;scanf("%d",&n);if(n<0)printf("negative\n");elseprintf("positive\n");if(n%2==0)printf("even\n");elseprintf("odd\n");}[題目1023:簡(jiǎn)單計(jì)算器]下面程序是實(shí)現(xiàn)一個(gè)簡(jiǎn)單的運(yùn)算器保留兩位小數(shù)點(diǎn),如果由鍵盤輸入10+50,計(jì)算機(jī)可以輸出結(jié)60.008*6計(jì)算機(jī)過后并提交。#include"stdio.h"voidmain(){ floata,b,c;charop;scanf("%f%c%f", );switch(op)'+':_;

{case

case;'-':case'*':_;case'*':_;case'/': ;default:printf("error");return;}printf("result=",c);}[第一組自測(cè)數(shù)據(jù)][第二組自測(cè)數(shù)據(jù)][鍵盤輸入]45*2

輸 入 ]↙50.1-23↙[ 正 確 輸 出 ][正確輸出9027.10參考程序:#include<stdio.h>intmain()#include<stdio.h>intmain(){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;}printf("result=%.2f",c);} 、實(shí)驗(yàn)5 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(一)一、實(shí)驗(yàn)?zāi)康氖煜ふ莆沼脀hile熟悉掌握用whiledo-while語句for語句實(shí)現(xiàn)循環(huán)的方法。算法(如窮舉、迭代、遞推等。二、實(shí)驗(yàn)內(nèi)容[1024:計(jì)算階乘]n!=1*2*3*...*n)[第二組自測(cè)數(shù)據(jù)][ 鍵 盤 輸 入 ][鍵盤輸入]5 ↙8↙[ 正 確 輸 出 ][正確輸出12040320參考程序:#include<stdio.h>main()#include<stdio.h>main(){longi,n=1,a;scanf("%ld",&a);for(i=1;i<=a;i++)printf("%ld\n",n);}[題目1025:計(jì)算數(shù)列和]有數(shù)列1,3,5,7,9,11,……nn[ 第 一 組 自 測(cè) 數(shù) 據(jù) [第二組自測(cè)數(shù)據(jù)][ 鍵 盤 輸 入 ][鍵盤輸入]2 ↙5↙[ 正 確 輸 出 ][正確輸出]425參考程序:#include<stdio.h>參考程序:#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("%ld\n",sum);}或#include<stdio.h>main(){ longn,sum;scanf("%ld",&n);sum=n*n;printf("%ld",sum);}對(duì)運(yùn)行結(jié)果進(jìn)行評(píng)測(cè)。[}對(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[提示] 1)可以使用下面程序段逐個(gè)讀入鍵盤輸入的一行字符char ch;while((ch=getchar())!='\n'){……}2)數(shù)字字符轉(zhuǎn)為對(duì)應(yīng)的數(shù)值可用a=ch-'0'參考程序:#include<stdio.h>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、nn用長(zhǎng)整數(shù)表示,計(jì)算它們的最大公約數(shù)[ 第 一 組 自 測(cè) 數(shù) 據(jù) ][第二組自測(cè)數(shù)據(jù)][[鍵盤輸入][鍵盤輸入]16,24↙[正確輸出][正確輸出]81[提示]公約數(shù)是既能整除 m 又能整除n 數(shù),題目要求滿足這一條件的最大的一個(gè)。參考程序:#include<stdio.h>main(){ longr,m,n,temp;scanf("%ld,%ld",&m,&n);while(m!=0){ r=n%m;n=m;m=r;}printf("%ld\n",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;}}}[題目1030:字符變換]由鍵盤輸入一個(gè)句子 總字符個(gè)數(shù)從1個(gè)至80 個(gè)均有可能,以回車符表示結(jié)束其中的大寫字變換后的句子。[ 第 一 組 自 測(cè) 數(shù) 據(jù) ][第二組自測(cè)數(shù)據(jù)][鍵[鍵盤輸入][鍵盤輸入]HowAreYou?↙ThiSISMyfIrStC[正確輸出][正確輸出]howareyou?thisismyfirstcprogram!#include<stdio.h>main(){ charc;while((c=getchar())!='\n'){ if(c>='A'&&c<='Z')c=c+32;putchar(c);}}[1037[1037:計(jì)算數(shù)列和]有數(shù)列:nn(結(jié)果保留四位小數(shù))[第一組自測(cè)數(shù)據(jù)][第二組自測(cè)數(shù)據(jù)][鍵盤輸入][鍵盤輸入]20↙[ 正 確 輸 出 ][正確輸出]32.660388.0403參考程序:#include<stdio.h>main(){ inti,t,n;floata=2,b=1,s=0;scanf("%d",&n);for(i=1;i<=n;i++){for(i=1;i<=n;i++){s=s+a/b;t=a;a=a+b;b=t;}printf("%.4f\n",s);}[題目1044:輸出最小值]從鍵盤輸入十個(gè)整數(shù),輸出最小值[ 自測(cè)數(shù)據(jù)][鍵盤輸入]21↙[正確輸出]

55 995參考程序:#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("%d\n",min);}*[scanf("%d",&min);for(i=1;i<10;i++){scanf("%d",&t);if(t<min)min=t;}printf("%d\n",min);}*[題目1031:統(tǒng)計(jì)單詞個(gè)數(shù)]由鍵盤輸入一個(gè)句子 總字符個(gè)數(shù)從1要求輸出單詞的個(gè)數(shù)。[ 第 一 組 自 測(cè) 數(shù) 據(jù) ][第二組自測(cè)數(shù)據(jù)][ 鍵 盤 輸 入 ][鍵盤輸入]How

Are

You? ↙Therearemanystudentsandmany[ 正 確 輸 出 trees!↙3[3[正確輸出]7參考程序:#include<stdio.h>main(){inti,num=0,word=0;charc;for(i=0;(c=getchar())!='\n';i++)if(c=='')word=0;{ word=1;num++;}printf("%d",num);}*[題目1042:百萬富翁]m元,而你第一天只需給我一分錢第二天我仍給你m 元你給我2分錢第三天我仍給你m元你給我4(38)受這個(gè)契約?,F(xiàn)要求,編寫一個(gè)程序,由鍵盤輸入m,計(jì)算多少天后,百萬富翁開始虧錢。[ 第 一 組 自 測(cè) 數(shù) 據(jù) ]18[ 鍵 盤 輸 入 ][第二組自測(cè)數(shù)據(jù)]100 ↙[鍵盤輸入][10000↙

正 確 輸 出 ][ 正 確 輸 出 ]25參考程序:#include<stdio.h>#include<stdio.h>#include<math.h>main(){intn,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)康膚hiledo-whilefor語句實(shí)現(xiàn)循環(huán)的方法。二、實(shí)驗(yàn)內(nèi)容[題目1028:求素?cái)?shù)]22002、200)11順序輸出。[提示]2200之間的數(shù),內(nèi)層循環(huán)對(duì)數(shù)進(jìn)行判斷是否為素?cái)?shù)。參考程序:#include<stdio.h>#main(){intm,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("%d\n",m);}}[題目1035:打印菱形]由鍵盤輸入正數(shù)n,要求輸出2*n+1 的菱形圖案。要求菱形左邊緊靠屏幕左邊。***

***[第[第一組自測(cè)數(shù)據(jù)][第二組自測(cè)數(shù)據(jù)][鍵盤輸入][鍵盤輸入]32↙↙[正確輸出][正確輸出]***************************參考程序:#include"stdio.h"參考程序:#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++)printf("");

for(j=1;j<=2*n+1-2*k;j++)printf("\n");}}[題目1038:打印圖案]由鍵盤輸入正數(shù)nn菱形圖案。要求菱形左邊緊靠屏幕左邊。[ 第 一 組 自 測(cè) 數(shù) 據(jù) ][第二組自測(cè)數(shù)據(jù)][鍵[鍵盤輸入][鍵盤輸入]43↙[正確輸出][正確輸出]111211211232112343211211232111211參考程序:#include<stdio.h>#main(){intn,i,j,k,h;{intn,i,j,k,h;scanf("%d",&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)康暮洼斎胼敵龇椒ā6?、?shí)驗(yàn)內(nèi)容[1039:倒序]10間由一個(gè)空格分隔)[ 自測(cè)數(shù)據(jù)][鍵盤輸入]70 5 1420 192 99 67 1366↙[正確輸出]66 13 6799 2 19 20 14 570參考程序:#include<math.h>main(){ inta[10];inti;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=9;i>=0;i--)printf("%d\n",a[i]);}[題目1040:統(tǒng)計(jì)不同數(shù)字個(gè)數(shù)]20個(gè)數(shù)。[ 自測(cè)數(shù)據(jù)][鍵盤輸入]70 5 14 22 19 2 99 67 13 66 593 44 38 22 1139 22 33 [正確輸出]16[提示]上述答案中,因?yàn)? 有1 個(gè)重復(fù)數(shù)字,11有1 個(gè)重復(fù)數(shù)字,22有2 個(gè)重復(fù)數(shù)字,故不同數(shù)字有16個(gè),分別是70 5 14 22 19 2 9967 1366 93 44 38 1139 33參考程序:#include"stdio.h"main(){ inta[20];intfor(i=0;i<20;i++){ scanf("%d",&a[i]);for(t=0;t<i;t++)if(a[t]==a[i])break;if(t==i)p++;}printf("%d",p);if(t==i)p++;}printf("%d",p);}[題目1062:打印矩陣]由鍵盤輸入一個(gè)3×4 的矩陣,要求出它的轉(zhuǎn)置矩陣。[ 自測(cè)數(shù)據(jù)][鍵盤輸入]1 6 9 31111619

1 0 21 9 8 9908329參考程序:#include<stdio.h>main()#include<stdio.h>main(){inta[3][4],b[4][3],i,j;for(i=0;i<3;i++)for(j=0;j<4;j++){scanf("%d",&a[i][j]);b[j][i]=a[i][j];}for(i=0;i<4;i++){for(j=0;j<3;j++)printf("%d",b[i][j]);}}*[題目1047:冒泡排序]1010個(gè)請(qǐng)?zhí)畛渫暾?。?shù)字間由一個(gè)空格分隔。#incude"stdio.h"main(){inta[10],i,j,t;{inta[10],i,j,t;for(i=0;i<10;i++)scanf("%d", )for( ){for(j=0;j< if( ){ }}}[ 自測(cè)數(shù)據(jù)][鍵盤輸入]70 5 14 20 19 2 99 67 1366↙[正確輸出]2 5 13 14 19 20 66 67 7099參考程序:#include<stdio.h>main()#include<stdio.h>main(){inta[10];inti,j,t;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){for(j=0;j<9-i;j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}for(i=0;i<10;i++)printf("%d}*[題目1046:計(jì)算高精度加法]由鍵盤輸入兩個(gè)位數(shù)很長(zhǎng)的整數(shù)(一行一個(gè)數(shù),每個(gè)數(shù)最長(zhǎng)不超過80位輸出這兩個(gè)數(shù)的和。[ 自測(cè)數(shù)據(jù)][鍵盤輸入[鍵盤輸入]1234567890123456789↙987654321098765↙[正確輸出]1235555544444555554參考程序:#include"stdio.h"#include"string.h"{ inta[100]={0},b[100]={0},c[100]={0};chars[101];inti=0,n1=0,n2=0,max=0,e=0;gets(s);n1=strlen(s);for(i=n1-1;i>=0;i--)a[n1-1-i]=s[i]-'0';gets(s);n2=strlen(s);for(i=n2-1;i>=0;i--)b[n2-1-i]=s[i]-'0';if(n1>n2)max=n1;elsemax=n2;for(i=0;i<=max;i++){elsemax=n2;for(i=0;i<=max;i++){c[i]=(a[i]+b[i]+e)%10;e=(a[i]+b[i]+e)/10;}if(c[max]>0)printf("%d",c[max]);for(i=max-1;i>=0;i--)printf("%d",c[i]);}*[題目:找矩陣中的鞍點(diǎn)]

3 × 43 行4 列)的矩陣,輸出矩陣中的鞍點(diǎn)即在陣行中最大,列中最小的數(shù)。若沒有鞍點(diǎn),輸出“NO ”字樣。[ 自測(cè)數(shù)據(jù)][鍵盤輸入]879011098↙709721065↙984512030↙[正確輸出]110參考程序:#include<stdio.h>main()參考程序:#include<stdio.h>main(){inti,j,k,a[3][4],max,maxj,flag;for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);for(i=0;i<3;i++)if(a[i][j]>max){max=a[i][j];maxj=j;flag=1;for(k=0;k<3;k++)if(max>a[k][maxj]){flag=0;break;if(flag){printf("%d",max);break;}}if(!flag)}if(!flag)printf("NO");}8字符數(shù)組的應(yīng)用一、實(shí)驗(yàn)?zāi)康恼莆张c字符串處理有關(guān)的算法。二、實(shí)驗(yàn)內(nèi)容[題目1121:定義存貯字符串的字符數(shù)組]在下面程序中填充定義字符數(shù)組的語句,使程序完整。#include"string.h"void main(){ chars[80];s*/strcpy(s,"abcdefghijklmn");printf("%s",s);strcpy(s,"abcdefghijklmn");printf("%s",s);}參考程序:[題目1123:字符串的輸入與輸出]下面程序?qū)崿F(xiàn)從鍵盤讀入字符串,后輸出到屏幕,請(qǐng)?zhí)畛浔匾恼Z句。#include"stdio.h"void{main()printf("What'syourname?");gets(s); /* 串*/}

printf("Yournameis",);printf("%s",s);打印字符串參考程序:[題目1122:字符串的合并]從鍵盤輸入3 個(gè)字符串每個(gè)字符串以回車符做為結(jié)束標(biāo)志回車符做為結(jié)束標(biāo)志,將3 個(gè)字符串以輸入后順序合并到s中,請(qǐng)?zhí)羁帐褂贸绦蛲暾?include"stdio.h"#include"string.h"main(){chars[100]="";chara[30];gets(a);strcat(s,a);gets(a);strcat(s,a);gets(a);strcat(s,a);/*可以寫多行代碼*/printf("%s",s);}[ 自測(cè)數(shù)據(jù)][ 鍵 盤 輸 入 ][正確輸出]123123abc456abc456參考程序:[題目1050:尋找字符串]由鍵盤輸入兩個(gè)字符串 假設(shè)第一個(gè)符串必包含第二個(gè)字符串,如第一個(gè)字符串為ABCDEF,第二個(gè)為123123abc456abc456參考程序:[題目1050:尋找字符串]由鍵盤輸入兩個(gè)字符串 假設(shè)第一個(gè)符串必包含第二個(gè)字符串,如第一個(gè)字符串為ABCDEF,第(如果第二個(gè)字符串在第一個(gè)字符串中出現(xiàn)多次,則以最前出現(xiàn)的為準(zhǔn))[ 第 一 組 自 測(cè) 數(shù) 據(jù) ][第二組自測(cè)數(shù)據(jù)][ 鍵 盤 輸 入 ][鍵盤輸入]ABCDEFG ↙hellhello!↙DE ↙hello↙[ 正 確 輸 出 ][正確輸出]45[提示]方法1:建立雙重循環(huán),外層循環(huán)變量位置開始判2strstr()。參考程序:#include main(){ inti,j;chara[80],b[80];gets(a);gets(b);for(i=0;a[i]!='\0';i++){ for(j=0;b[j]!='\0';j++)if(a[i+j]!=b[j])break;if(b[j]=='\0')break;}if(a[i]!='\0')printf("%d",i+1);if(a[i]!='\0')printf("%d",i+1);elseprintf("NotFound");}9函數(shù)的基本應(yīng)用一、實(shí)驗(yàn)?zāi)康?)掌握定義函數(shù)的方法。掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用的方法。4 )靜態(tài)變量的概念和使用方法。二、實(shí)驗(yàn)內(nèi)容[題目1059:函數(shù)定義]下面是使用輾轉(zhuǎn)相除法,求最大公約數(shù)的程序,請(qǐng)補(bǔ)充完整程序中函數(shù)的定義與調(diào)用。#include "stdio.h"intf(intm,intn)#include "stdio.h"intf(intm,intn){intr;while((r=m%n)!=0){m=n;n=r;}return n;main(){int a,b,n;scanf("%d%d",&a,printf("%d\n", f(a,b));}[題目1083:編寫函數(shù)計(jì)算階乘]下面程序?qū)崿F(xiàn)由鍵盤讀入整數(shù)n,計(jì)算并輸出并輸出nlongfanc(inta){longi,n=1;for(i=1;i<=a;i++) returnn;}void main(){ intn;scanf("%d",printf("%ld",fanc(n));}[題目1124:函數(shù)中的變量]寫出下面程序的運(yùn)行結(jié)果:intf1(intx){ staticinty++;z++;return(x+y+z);}main(){inta=1,k;for(k=0;k<3;k++)printf("%4d",f1(a));}程序運(yùn)行結(jié)果為:6}main(){inta=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ù)]請(qǐng)?zhí)羁眨?include"stdio.h"voidfun( inti){ if(i>1)fun(i/2) printf("%d",i%2);}main(){intn;scanf("%d",{intn;scanf("%d",fun(n) ;}實(shí)驗(yàn)10 指針與結(jié)構(gòu)體一、實(shí)驗(yàn)?zāi)康?)通過實(shí)驗(yàn)進(jìn)一步掌握指針的概念,會(huì)定義和使用指針變量。能正確使用字符串的指針和指向字符中的指針變量。4 )二、實(shí)驗(yàn)內(nèi)容[題目1091:交換兩數(shù),由大到小輸出]出,請(qǐng)?zhí)羁?include"stdio.h"voidswap(int*p1,#include"stdio.h"voidswap(int*p1,int*p2){inttemp;temp=*p1;*p1=*p2;*p2=temp;}intmain(){inta,b;int*pa,*pb;scanf("%d%d",&a,&b);pa=&a;pb=&b;printf("%d%d\n",a,b);}[題目1065:數(shù)組中的指針]設(shè)有如下數(shù)組定義:inta[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};計(jì)算下面各項(xiàng)的值 設(shè)數(shù)組 a 的首地址為2000int類型數(shù)占四個(gè)字節(jié)址則輸出地址,許多余空行及空格。1)a[2][1] 2)a[1] 3)a4 )a+15)*a+1 6)*(a+1) a[2]+1 8)*(a+1)+19)*(*(a+2)+2)參考程序:#include"stdio.h"main(){ printf("19\n");printf("2016\n");printf("2000\n");printf("2016\n");printf("2004\n");printf("2016\n");printf("2036\n");printf("2020\n");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"intf(char*p){}returnstrlen(p);{ charinti;scanf("%s",s);i=f(s);printf("%d",i);}[題目1125:定義結(jié)構(gòu)體類型]要求定義一個(gè)名為student的結(jié)構(gòu)體類型,其包含如下成員:字符數(shù)組nam10個(gè)字符;號(hào);

sex,用于記錄性別;整數(shù)類型變量num,用于記錄學(xué)4 )floatscore并使下列代碼完整。/*定義結(jié)構(gòu)體類型*/structstudent{ charname[20];charsex;intnum;float}main(){struct studentstu;scanf("%s", scanf("%*c%c", scanf("%*c%c", &stu.sex);scanf("%d", &stu.num);scanf("%f",&stu.score);printf("%s\n",);printf("%c\n",stu.sex);printf("%d\n",stu.num);printf("%f\n",stu.score);}11鏈表一、實(shí)驗(yàn)?zāi)康睦斫怄湵淼母拍睢U莆战Y(jié)構(gòu)體、指針在鏈表中的運(yùn)用。二、實(shí)驗(yàn)內(nèi)容[[1098:鏈表結(jié)點(diǎn)的插入有結(jié)構(gòu)體類型定義,structstudent{longnum;/*學(xué)號(hào)*/intscore;/*成績(jī)*/structstudent*next;指針*/};成按學(xué)號(hào)順序插入鏈表結(jié)點(diǎn)的函數(shù):struct student *insert(struct student*head,structstudent*stud){structstudentp1=head;p0=stud;if(head==NULL){head=p0;p0->next=NULL;}else{while((p0->num>p1->num)&&(p1->next!=NULL)){while((p0->num>p1->num)&&(p1->next!=NULL)){p2=p1;p1=p1->next;}if(p0->num<=p1->num){if(head==p1)head=p0;elsep2->next=p0;p0->next=p1;}else{p1->next=p0;p0->next=NULL;}return(head);}[1099:鏈表的合并]有結(jié)構(gòu)體類型定義,structstudent{ longnum;學(xué)號(hào)intscore;成績(jī)*/structstudent*next;/*指針*/};structstudent*next;/*指針*/};成實(shí)現(xiàn)將第二個(gè)鏈表合并到第一個(gè)鏈表未尾的函數(shù)。structstudent*merge(structstudent*head,structstudent*head2){while(p1->next!=NULL)p1=p1->next;p1->next=head2;return(head);}[題目1104:鏈表的倒序]有結(jié)構(gòu)體類型定義,structstudent{structstudent{longnum;/*學(xué)號(hào)*/intscore;/*成績(jī)*/structstudent*next;指針*/};程序首先完成程序創(chuàng)建一個(gè)鏈表,要求補(bǔ)充完成實(shí)現(xiàn)將鏈表中各結(jié)點(diǎn)變?yōu)榈剐蚺帕械暮瘮?shù)。struct*head)student*reverse(struct studentstructstudentp2=head;p3=head->next;do{ p1=p2;p2=p3;p3=p2->next;p2->next=p1;}while(p3!=NULL);head->next=NULL;return(p2);}[}[]有結(jié)構(gòu)體類型定義,structstudent{longnum;/*學(xué)號(hào)*/intscore;/*成績(jī)*/str

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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)論