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

下載本文檔

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

文檔簡介

C語言程序設(shè)計實驗指導(dǎo)書參考題答案精心整理學(xué)習(xí)幫手上級實驗參考答案#include"stdio.h"#include"math.h"intmain(){inti;doublea,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("%d\n",i);}}實驗2基本數(shù)據(jù)類型、運(yùn)算和表達(dá)式一、實驗?zāi)康?)掌握C語言數(shù)據(jù)類型,熟悉如何定義一個整型和實型的變量,以及對它們賦值的方法。2)掌握不同的類型數(shù)據(jù)之間賦值的規(guī)。3)學(xué)會使用C的有關(guān)算術(shù)運(yùn)算符,以及包含這些運(yùn)算符的表達(dá)式,特別是自加++)和自減--)運(yùn)算符的使用。4)進(jìn)一步熟悉C程序的編輯、編譯、連接和運(yùn)行的過程。二、實驗內(nèi)容1.變量的定義[題目1117:變量定義,按要求完成程序]下面給出一個可以運(yùn)行的程序,但是缺少部分語句,請按右邊的提示補(bǔ)充完整缺少的語句。voidmain()C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第1頁。{C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第1頁。inta,b;/*定義整型變量a和b*/inti,j;/*定義實型變量i和j*/a=5;b=6;i=3.14;j=i*a*b;printf("a=%d,b=%d,i=%f,j=%f\n",a,b,i,j);}[具體操作步驟]1)將代碼補(bǔ)充完整;2)在TC或VC++上運(yùn)行通過;3)在JudgeOnline實驗系統(tǒng)上提交;2.賦值表達(dá)式與賦值語句[題目1118:賦值表達(dá)式與賦值語句,寫出程序運(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,\[提示]賦值語句具有類型轉(zhuǎn)換的功能,但可能會改變數(shù)據(jù)。3.基本運(yùn)算[題目1119:基本運(yùn)算,寫出程序運(yùn)行結(jié)果]C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第2頁。閱讀下面程序,寫出運(yùn)行結(jié)果:C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第2頁。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[提示]除法分整除與普通除法之分。實驗3基本輸入與輸出一、實驗?zāi)康?)熟練掌握putchar、getchar、printf、scanf函數(shù)的使用方法。2)掌握各種類型數(shù)據(jù)的輸入輸出的方法,能正確使用各種格式轉(zhuǎn)換符。二、實驗內(nèi)容[題目1126:字符的輸入與輸出]編程實現(xiàn)由鍵盤輸入一個字符后,在屏幕上輸出該字符。[第一組自測數(shù)據(jù)][第二組自測數(shù)據(jù)][鍵盤輸入][鍵盤輸入]a↙+↙[正確輸出][正確輸出]a+參考程序:#include"stdio.h"main(){charch;ch=getchar();putchar(ch);}[題目1127:計算加法]C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第3頁。編程實現(xiàn)由鍵盤輸入一個加法式,輸出正確的結(jié)果。兩個加數(shù)均為整數(shù))C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第3頁。[第一組自測數(shù)據(jù)][第二組自測數(shù)據(jù)][鍵盤輸入][鍵盤輸入]10+20↙-15+60↙[正確輸出][正確輸出]3045參考程序:#include"stdio.h"main(){inta,b;scanf("%d%*c%d",&a,&b);printf("%d",a+b);}[題目1014:求圓面積]由鍵盤輸入圓半徑r,請計算該圓的面積。注:取3.14159,結(jié)果保留兩位小數(shù)位;另外,程序只要能對r在0到10000范圍的情況輸出正確答案即可)[第一組自測數(shù)據(jù)][鍵盤輸入]65.2↙[鍵盤輸入][正確輸出]11.2↙13355.02[正確輸出][第二組自測數(shù)據(jù)]394.08[提示]結(jié)果保留兩位小數(shù)可采用printf函數(shù)的格式控制字符來實現(xiàn)。參考程序:#include"stdio.h"main(){floatarea,r;scanf("%f",&r);area=3.14159*r*r;printf("%0.2f",area);}[題目1015:計算攝氏溫度值]從鍵盤輸入一個華氏溫度值,要求按格式輸出其對應(yīng)的攝氏溫度值,精確到小數(shù)點后兩位。數(shù)學(xué)公式描述為:5C=(F-32)C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第4頁。9C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第4頁。[第一組自測數(shù)據(jù)][第二組自測數(shù)據(jù)][鍵盤輸入][鍵盤輸入]100↙100↙[正確輸出][正確輸出]37.7837.78[提示]注意公式中的除為普通除法。參考程序:#include<stdio.h>voidmain(){floatf,c;scanf("%f",&f);c=5.0/9*(f-32);printf("%.2f",c);}實驗4選擇結(jié)構(gòu)程序設(shè)計一、實驗?zāi)康?)了解C語言表示邏輯的方法以0代表“假”,以非0代表“真”)。2)學(xué)會正確使用邏輯運(yùn)算符和邏輯表達(dá)式。3)熟練掌握if語句和switch語句。4)結(jié)合程序掌握一些簡單的算法。二、實驗內(nèi)容[題目1120:判斷點是否在圓]由鍵盤輸入一個點的坐標(biāo),要求編程判斷這個點是否在單位圓上,點在圓上輸出Y,不在圓上輸出N。使用小數(shù)點后3位精度進(jìn)行判斷。[第一組自測數(shù)據(jù)][第二組自測數(shù)據(jù)][鍵盤輸入][鍵盤輸入]0.707,0.707↙0.5,0.5↙[正確輸出][正確輸出]YN[提示]1)平面上的點與圓的關(guān)系分為在圓內(nèi)、在圓上、在圓外三種,本題要求判斷是否在圓上;2)判斷兩實數(shù)相等采用判斷這兩實數(shù)的差的絕對值小于規(guī)定誤差精度(本題為0.001)的方法實現(xiàn)。參考程序:C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第5頁。#include"stdio.h"C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第5頁。#include"math.h"voidmain(){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ù)]由鍵盤輸入一個不多于9位的正整數(shù),要求輸出它是幾位數(shù)。[第一組自測數(shù)據(jù)][第二組自測數(shù)據(jù)][鍵盤輸入][鍵盤輸入]349213↙10000↙[正確輸出][正確輸出]65[提示]劃定一位數(shù)、二位數(shù)、…、九位數(shù)的范圍,后用if…elseif…else語句實現(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("%ld\n",place);}[題目1018:數(shù)的排序]由鍵盤輸入三個整數(shù)a、b、c,按從小到大的順序輸出這三個數(shù)。[第一組自測數(shù)據(jù)][第二組自測數(shù)據(jù)][鍵盤輸入][鍵盤輸入]65,45,90↙9,6,3↙[正確輸出][正確輸出]C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第6頁。45,65,903,6,9C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第6頁。參考程序:#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:字符變換]由鍵盤輸入5個字符,將其中的大寫字母變成小寫,其它類型的字符不變,并按輸入順序逐個輸出。[第一組自測數(shù)據(jù)][第二組自測數(shù)據(jù)][鍵盤輸入][鍵盤輸入]ApPLe↙a+B=5↙[正確輸出][正確輸出]applea+b=5[提示]下面代碼實現(xiàn)由鍵盤讀入一個字符,并按題意處理后輸出chara;a=getchar();if(a>='A'&&a<='Z')a=a+32;putchar(a);現(xiàn)在,題目要求處理5個字符,怎么做呢?請自己思考……參考程序:#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;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個整數(shù),逐個判斷它們能否被27整除,能的輸出“YES”,不能的輸出“NO”注意,C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第7頁。輸出時,一個判斷結(jié)果占一行,5個數(shù)的判斷共占5行)。C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第7頁。[第一組自測數(shù)據(jù)][第二組自測數(shù)據(jù)][鍵盤輸入][鍵盤輸入]8271757732554↙8271757732554↙[正確輸出][正確輸出]NONOYESYESYESYESNONOYESYES[提示]整除即除得余數(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("YES\n");elseprintf("NO\n");if(b%27==0)printf("YES\n");elseprintf("NO\n");if(c%27==0)printf("YES\n");elseprintf("NO\n");if(d%27==0)printf("YES\n");elseprintf("NO\n");if(e%27==0)printf("YES\n");elseprintf("NO\n");}[題目1020:正負(fù)奇偶判斷]由鍵盤輸入非零整數(shù)x,判斷該數(shù)正負(fù),正數(shù)輸出positive,負(fù)數(shù)輸出negative,接著判斷該數(shù)的奇偶性,奇數(shù)輸出odd,偶數(shù)輸出even。[第一組自測數(shù)據(jù)]negative[鍵盤輸入]odd-43↙[第二組自測數(shù)據(jù)][正確輸出][鍵盤輸入]98↙positive[正確輸出]even參考程序:#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");}C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第8頁。C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第8頁。[題目1023:簡單計算器]下面程序是實現(xiàn)一個簡單的運(yùn)算器保留兩位小數(shù)點),如果由鍵盤輸入10+50,計算機(jī)可以輸出結(jié)果60.00;如果輸入8*6,計算機(jī)輸出48.00;如果輸入20/4,計算機(jī)輸出5.00;如果輸入8-6,計算機(jī)輸出2.00,請在空處填上適當(dāng)?shù)拇a,運(yùn)行通過后并提交。#include"stdio.h"voidmain(){floata,b,c;charop;scanf("%f%c%f",);switch(op){case'+':;case'-':_;case'*':_;case'/':__;default:printf("error");return;}printf("result=",c);}[第一組自測數(shù)據(jù)][第二組自測數(shù)據(jù)][鍵盤輸入][鍵盤輸入]45*2↙50.1-23↙[正確輸出][正確輸出]9027.10參考程序:#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;default:printf("error");break;C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第9頁。}C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第9頁。printf("result=%.2f",c);}、實驗5循環(huán)結(jié)構(gòu)程序設(shè)計(一)一、實驗?zāi)康?)熟悉掌握用while語句、do-while語句和for語句實現(xiàn)循環(huán)的方法。2)掌握在程序設(shè)計中用循環(huán)實現(xiàn)一些常用算法(如窮舉、迭代、遞推等)。二、實驗內(nèi)容[題目1024:計算階乘]輸入正整數(shù)n,計算n!,結(jié)果用長整型數(shù)表示注n!=1*2*3*...*n)[第一組自測數(shù)據(jù)][第二組自測數(shù)據(jù)][鍵盤輸入][鍵盤輸入]5↙8↙[正確輸出][正確輸出]12040320參考程序:#include<stdio.h>main(){longi,n=1,a;scanf("%ld",&a);for(i=1;i<=a;i++)n=n*i;printf("%ld\n",n);}[題目1025:計算數(shù)列和]有數(shù)列1,3,5,7,9,11,……現(xiàn)要求由鍵盤輸入n,計算輸出該數(shù)列的前n項和。[第一組自測數(shù)據(jù)][第二組自測數(shù)據(jù)][鍵盤輸入][鍵盤輸入]2↙5↙[正確輸出][正確輸出]425參考程序:C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第10頁。#include<stdio.h>C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第10頁。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);}注:評判系統(tǒng)不對程序?qū)崿F(xiàn)細(xì)節(jié)進(jìn)行分析,只對運(yùn)行結(jié)果進(jìn)行評測。[題目1026:加一行字符中的數(shù)字]由鍵盤輸入一行字符總字符個數(shù)從1個至80個均有可能,以回車符表示結(jié)束),將其中每個數(shù)字字符所代表的數(shù)值累加起來,輸出結(jié)果。[第一組自測數(shù)據(jù)][第二組自測數(shù)據(jù)][鍵盤輸入][鍵盤輸入]abc123↙A6H7T+65↙[正確輸出][正確輸出]624[提示]1)可以使用下面程序段逐個讀入鍵盤輸入的一行字符charch;while((ch=getchar())!='\n'){……}2)數(shù)字字符轉(zhuǎn)為對應(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;C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第11頁。}C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第11頁。}printf("%d",s);}[題目1029:求最大公約數(shù)]由鍵盤輸入兩個正整數(shù)m、nm、n用長整數(shù)表示),計算它們的最大公約數(shù)。[第一組自測數(shù)據(jù)][第二組自測數(shù)據(jù)][鍵盤輸入][鍵盤輸入]16,24↙17,25↙[正確輸出][正確輸出]81[提示]公約數(shù)是既能整除m又能整除n的數(shù),題目要求滿足這一條件的最大的一個。參考程序:#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;}}printf("%d",s);}[題目1030:字符變換]由鍵盤輸入一個句子總字符個數(shù)從1個至80個均有可能,以回車符表示結(jié)束),將其中的大寫字C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第12頁。符變成小寫其它類型的字符不變),最后輸出變換后的句子。C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第12頁。[第一組自測數(shù)據(jù)][第二組自測數(shù)據(jù)][鍵盤輸入][鍵盤輸入]HowAreYou?↙ThiSISMyfIrStCProgrAm!↙[正確輸出][正確輸出]howareyou?thisismyfirstcprogram!參考程序:#include<stdio.h>main(){charc;while((c=getchar())!='\n'){if(c>='A'&&c<='Z')c=c+32;putchar(c);}}[題目1037:計算數(shù)列和]有數(shù)列:編程實現(xiàn),由鍵盤輸入n,計算輸出數(shù)列前n項和。(結(jié)果保留四位小數(shù))[第一組自測數(shù)據(jù)][第二組自測數(shù)據(jù)][鍵盤輸入][鍵盤輸入]20↙30↙[正確輸出][正確輸出]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++){s=s+a/b;t=a;a=a+b;b=t;}C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第13頁。printf("%.4f\n",s);C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第13頁。}[題目1044:輸出最小值]從鍵盤輸入十個整數(shù),輸出最小值[自測數(shù)據(jù)][鍵盤輸入]1245768758743559921↙[正確輸出]5參考程序:#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);}*[題目1031:統(tǒng)計單詞個數(shù)]由鍵盤輸入一個句子總字符個數(shù)從1個至80個均有可能,以回車符表示結(jié)束),以空格分割單詞,要求輸出單詞的個數(shù)。[第一組自測數(shù)據(jù)][第二組自測數(shù)據(jù)][鍵盤輸入][鍵盤輸入]HowAreYou?↙Therearemanystudentsandmany[正確輸出]trees!↙3[正確輸出]7參考程序:#include<stdio.h>main(){inti,num=0,word=0;charc;for(i=0;(c=getchar())!='\n';i++)C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第14頁。if(c=='')word=0;C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第14頁。elseif(word==0){word=1;num++;}printf("%d",num);}*[題目1042:百萬富翁]一個百萬富翁遇到一個陌生人,陌生人找他談了一個換錢的計劃。該計劃如下:我每天給你m元,而你第一天只需給我一分錢。第二天我仍給你m元,你給我2分錢。第三天,我仍給你m元,你給我4分錢。依次類推,你每天給我的錢是前一天的兩倍,直到一個月(38)天。百萬富翁很高興,欣接受這個契約?,F(xiàn)要求,編寫一個程序,由鍵盤輸入m,計算多少天后,百萬富翁開始虧錢。[第一組自測數(shù)據(jù)]18[鍵盤輸入][第二組自測數(shù)據(jù)]100↙[鍵盤輸入][正確輸出]10000↙[正確輸出]25參考程序:#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);}實驗6循環(huán)結(jié)構(gòu)程序設(shè)計(二)一、實驗?zāi)康?)進(jìn)一步熟悉掌握用while語句、do-while語句和for語句實現(xiàn)循環(huán)的方法。2)掌握在程序設(shè)計中使用多重循環(huán)。二、實驗內(nèi)容C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第15頁。C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第15頁。[題目1028:求素數(shù)]輸出2到200之間包括2、200)的所有素數(shù)注:要求1行1個素數(shù),按由小到大的順序輸出)。[提示]采用雙重循環(huán),外層循環(huán)產(chǎn)生2到200之間的數(shù),內(nèi)層循環(huán)對數(shù)進(jìn)行判斷是否為素數(shù)。參考程序:#include<stdio.h>#include<math.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行的菱形圖案。要求菱形左邊緊靠屏幕左邊。[第一組自測數(shù)據(jù)][第二組自測數(shù)據(jù)][鍵盤輸入][鍵盤輸入]3↙2↙[正確輸出][正確輸出]**************************************參考程序:#include"stdio.h"#include"math.h"main(){intn,i,j,k;scanf("%d",&n);for(i=1;i<=2*n+1;i++)C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第16頁。{k=abs(n+1-i);C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第16頁。for(j=1;j<=k;j++)printf("");for(j=1;j<=2*n+1-2*k;j++)printf("*");printf("\n");}}[題目1038:打印圖案]由鍵盤輸入正數(shù)n,要求輸出中間數(shù)字為n的菱形圖案。要求菱形左邊緊靠屏幕左邊。[第一組自測數(shù)據(jù)][第二組自測數(shù)據(jù)][鍵盤輸入][鍵盤輸入]4↙3[正確輸出][正確輸出]11121121123211232112343211211232111211參考程序:#include<stdio.h>#include<math.h>main(){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");}}實驗7數(shù)組一、實驗?zāi)康?)掌握一維數(shù)組和二維數(shù)組的定義、賦值和輸入輸出方法。2)掌握與數(shù)組有關(guān)的算法。C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第17頁。C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第17頁。二、實驗內(nèi)容[題目1039:倒序]由鍵盤輸入10個整數(shù),倒序輸出。數(shù)字間由一個空格分隔)[自測數(shù)據(jù)][鍵盤輸入]705142019299671366↙[正確輸出]661367992192014570參考程序:#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)計不同數(shù)字個數(shù)]由鍵盤輸入20個整數(shù),統(tǒng)計不同數(shù)字的個數(shù)。[自測數(shù)據(jù)][鍵盤輸入]7051422192996713665934438221139223311↙[正確輸出]16[提示]上述答案中,因為5有1個重復(fù)數(shù)字,11有1個重復(fù)數(shù)字,22有2個重復(fù)數(shù)字,故不同數(shù)字有16個,分別是705142219299671366934438113933參考程序:#include"stdio.h"main(){inta[20];inti,t,p=0;for(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);C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第18頁。}C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第18頁。[題目1062:打印矩陣]由鍵盤輸入一個3×4的矩陣,要求輸出它的轉(zhuǎn)置矩陣。[自測數(shù)據(jù)][鍵盤輸入][正確輸出]169311111026191989908329參考程序:#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]);printf("\n");}}*[題目1047:冒泡排序]由鍵盤輸入10個數(shù),用“冒泡法”對10個數(shù)從小到大排序,并按格式要求輸出。代碼如下,請?zhí)畛渫暾?。?shù)字間由一個空格分隔。#incude"stdio.h"main(){inta[10],i,j,t;for(i=0;i<10;i++)scanf("%d",___________);for(___________){for(j=0;j<____;j++)if(___________){___________}C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第19頁。C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第19頁。for(i=0;i<10;i++)printf("%d",a[i]);}[自測數(shù)據(jù)][鍵盤輸入]705142019299671366↙[正確輸出]251314192066677099參考程序:#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",a[i]);}*[題目1046:計算高精度加法]由鍵盤輸入兩個位數(shù)很長的整數(shù)(一行一個數(shù),每個數(shù)最長不超過80位),試計算并輸出這兩個數(shù)的和。[自測數(shù)據(jù)][鍵盤輸入]1234567890123456789↙987654321098765↙[正確輸出]1235555544444555554參考程序:#include"stdio.h"#include"string.h"main(){inta[100]={0},b[100]={0},c[100]={0};C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第20頁。chars[101];C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第20頁。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++){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]);}*[題目:找矩陣中的鞍點]由鍵盤輸入一個3×43行4列)的矩陣,輸出矩陣中的鞍點即在矩陣行中最大,列中最小的數(shù))。若沒有鞍點,輸出“NO”字樣。[自測數(shù)據(jù)][鍵盤輸入]879011098↙709721065↙984512030↙[正確輸出]110參考程序:#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++){max=a[i][0];maxj=0;for(j=0;j<4;j++)C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第21頁。if(a[i][j]>max)C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第21頁。{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)printf("NO");}實驗8字符數(shù)組的應(yīng)用一、實驗?zāi)康?)掌握字符數(shù)組和字符串函數(shù)的使用。2)掌握與字符串處理有關(guān)的算法。二、實驗內(nèi)容[題目1121:定義存貯字符串的字符數(shù)組]在下面程序中填充定義字符數(shù)組的語句,使程序完整。#include"string.h"voidmain(){chars[80];/*定義字符數(shù)組s*/strcpy(s,"abcdefghijklmn");printf("%s",s);}參考程序:[題目1123:字符串的輸入與輸出]下面程序?qū)崿F(xiàn)從鍵盤讀入字符串,后輸出到屏幕,請?zhí)畛浔匾恼Z句。#include"stdio.h"voidmain(){chars[50];printf("What'syourname?");gets(s);/*由鍵盤讀入字符串*/printf("Yournameis",);printf("%s",s);/*打印字符串*/C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第22頁。}C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第22頁。參考程序:[題目1122:字符串的合并]從鍵盤輸入3個字符串每個字符串以回車符做為結(jié)束標(biāo)志),將3個字符串以輸入先后順序合并到字符串s中,請?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);}[自測數(shù)據(jù)][鍵盤輸入][正確輸出]123123abc456abc456參考程序:[題目1050:尋找字符串]由鍵盤輸入兩個字符串假設(shè)第一個字符串必包含第二個字符串,如第一個字符串為ABCDEF,第二個為CDE,則CDE包含在ABCDEF中),現(xiàn)要求編程輸出第二字符串在第一行字符串中出現(xiàn)的位置。(如果第二個字符串在第一個字符串中出現(xiàn)多次,則以最前出現(xiàn)的為準(zhǔn))[第一組自測數(shù)據(jù)][第二組自測數(shù)據(jù)][鍵盤輸入][鍵盤輸入]ABCDEFG↙hellhello!↙DE↙hello↙[正確輸出][正確輸出]45C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第23頁。[提示]方法1:建立雙重循環(huán),外層循環(huán)變量指示第一個串的查找起始位置,內(nèi)層循環(huán)從起始位置開始判C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第23頁。斷第二個字符中是否出現(xiàn)在此處;方法2:使用字符串函數(shù)strstr()。參考程序:#include"stdio.h"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);elseprintf("NotFound");}實驗9函數(shù)的基本應(yīng)用一、實驗?zāi)康?)掌握定義函數(shù)的方法。2)掌握函數(shù)實參與參的對應(yīng)關(guān)系,以及“值傳遞”的方式。3)掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用的方法。4)掌握全局變量和局部變量、動態(tài)變量、靜態(tài)變量的概念和使用方法。二、實驗內(nèi)容[題目1059:函數(shù)定義]下面是使用輾轉(zhuǎn)相除法,求最大公約數(shù)的程序,請補(bǔ)充完整程序中函數(shù)的定義與調(diào)用。#include"stdio.h"intf(intm,intn){intr;while((r=m%n)!=0){m=n;n=r;}returnn;C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第24頁。}C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第24頁。main(){inta,b,n;scanf("%d%d",&a,&b);printf("%d\n",f(a,b));}[題目1083:編寫函數(shù)計算階乘]下面程序?qū)崿F(xiàn)由鍵盤讀入整數(shù)n,計算并輸出n!,請補(bǔ)充完整計算階乘的函數(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++;z++;return(x+y+z);}main(){inta=1,k;for(k=0;k<3;k++)printf("%4d",f1(a));}程序運(yùn)行結(jié)果為:6810*[題目1084:編寫遞歸調(diào)用函數(shù),實現(xiàn)十進(jìn)制數(shù)轉(zhuǎn)二進(jìn)制數(shù)]下面程序,實現(xiàn)由鍵盤輸入一個正整數(shù)(不大于100000000),輸出其對應(yīng)的二進(jìn)制數(shù)原碼表示)。請?zhí)羁眨篊語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第25頁。#include"stdio.h"C語言程序設(shè)計實驗指導(dǎo)書參考題答案全文共33頁,當(dāng)前為第25頁。voidfun(inti){if(i>1)fun(i/2);printf("%d",i%2);}main(){intn;scanf("%d",&n);fun(n);}實驗10指針與結(jié)構(gòu)體一、實驗?zāi)康?)通過實驗進(jìn)一步掌握指針的概念,會定義和使用指針變量。2)能正確使用數(shù)組的指針和指向數(shù)組的指針變量。3)能正確使用字符串的指針和指向字符中的指針變量。4)掌握結(jié)構(gòu)體類型變量的定義和使用。二、實驗內(nèi)容[題目1091:交換兩數(shù),由大到小輸出]下面程序,交換兩數(shù),使兩數(shù)由大到小輸出,請?zhí)羁?include"stdio.h"voidswap(int*p1,int*p2){inttemp;temp=*p1;*p1=*p2;*p2=temp;}intmain()

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論