版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C 語言程序設計上機實驗指導與習題參考答案華南農(nóng)業(yè)大學上機實驗實驗 1 C 語言程序初步一、實驗目的( 1)了解所用的計算機系統(tǒng)的基本操作方法,學會獨立使用該系統(tǒng)。( 2)了解在該系統(tǒng)上如何編輯、編譯、連接和運行一個C 程序。( 3)通過運行簡單的C 程序,初步了解 C 程序的特點。( 4)在教師的指導下,學會使用JudgeOnline 實驗系統(tǒng)。二、實驗內容1. 運行第一個C 程序 題目: The first C Program將下列程序輸入 TC (或VC+ ),編譯、連接和運行該程序。void main()printf("The first C Programn");
2、 具體操作步驟 以 Turbo C 上的操作為例( 1) Windows 進入后,按照第一章中介紹的方法,進入 Turbo C 。( 2)在編輯窗口中輸入程序。( 3)保存程序,取名為a1.c 。( 4)按照第一章中介紹的方法,編譯、連接和運行程序。2. 在 JudgeOnline 系統(tǒng)中提交實現(xiàn)了計算a+b 功能的程序 題目1001 :計算a+b由鍵盤輸入兩個整數(shù),計算并輸出兩個整數(shù)的和。實現(xiàn)該功能的程序如下,void main() int a, b;scanf("%d%d", &a, &b);printf("%d", a + b);1
3、 )在程序編輯窗口中輸入程序。2 )保存程序,取名為 a2.c 。3)按照前二章中介紹的方法,編譯、連接和運行程序。4)在程序運行過程中,輸入15 30/(/表示輸入回車符)5 )如果看到如下輸出結果,則表明 15+30 的結果正確,如果得不到如下結果,則需檢查并更正程序。456 )按照第三章中介紹的方法進入JudgeOnline 實驗系統(tǒng)。7)顯示題目列表,點擊題號為1001 ,題名為“計算a+b ”的題目。8 )查看完題目要求后,點擊頁面下端的“sumbit ”,參照第二章提交程序的方法提交程序a2.c(9)查看評判結果,如果得到“accepted”則該題通過,否則返回第一步檢查程序是否正
4、確。5實驗2基本數(shù)據(jù)類型、運算和表達式一、實驗目的(1)掌握 c語言數(shù)據(jù)類型,熟悉如何定義一個整型和實型的變量,以及對它們賦值的方法。(2)掌握不同的類型數(shù)據(jù)之間賦值的規(guī)律。+)和自減(-)運(3)學會使用 C的有關算術運算符,以及包含這些運算符的表達式,特別是自加( 算符的使用。(4)進一步熟悉 C程序的編輯、編譯、連接和運行的過程。、實驗內容1.變量的定義題目1117:變量定義,按要求完成程序下面給出一個可以運行的程序,但是缺少部分語句,請按右邊的提示補充完整缺少的語句 void main() int a, b;/*定義整型變量a和b*/int i, j; /*定義實型變量i和j*/a=5
5、;b=6;i=3.14; j=i*a*b;printf("a=%d,b=%d,i=%f,j=%fn", a, b, i, j);具體操彳步驟(1)將代碼補充完整;(2)在TC或VC+上運行通過;(3)在JudgeOnline實驗系統(tǒng)上提交;2.賦值表達式與賦值語句題目1118:賦值表達式與賦值語句,寫出程序運行結果閱讀下面程序,寫出運行結果: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);運
6、行結果為:3.500000,3,330,J,提示賦值語句具有類型轉換的功能,但可能會改變數(shù)據(jù)。3.基本運算題目1119:基本運算,寫出程序運行結果閱讀下面程序,寫出運行結果: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);運行結果為:0,2,1,15.000000,1.000000,1.500000提示除法分整除與普通除法之分。實驗 3 基本輸入與輸出一、實驗目的( 1)熟練掌握putcha
7、r、 getchar、 printf 、 scanf 函數(shù)的使用方法。( 2)掌握各種類型數(shù)據(jù)的輸入輸出的方法,能正確使用各種格式轉換符。二、實驗內容 題目 1126 :字符的輸入與輸出 編程實現(xiàn)由鍵盤輸入一個字符后,在屏幕上輸出該字符。 第一組自測數(shù)據(jù)第二組自測數(shù)據(jù) 鍵盤輸入 鍵盤輸入a/+/ 正確輸出 正確輸出 a+參考程序:#include "stdio.h" main() char ch;ch = getchar();putchar(ch); 題目1127 :計算加法編程實現(xiàn)由鍵盤輸入一個加法式,輸出正確的結果。(兩個加數(shù)均為整數(shù)) 第一組自測數(shù)據(jù)第二組自測數(shù)據(jù) 鍵
8、盤輸入 鍵盤輸入 10+20/-15+60/ 正確輸出 正確輸出 3045參考程序:#include "stdio.h"main() int a, b;scanf("%d%*c%d", &a,&b);printf("%d", a+b); 題目1014 :求圓面積由鍵盤輸入圓半徑r,請計算該圓的面積。(注: 冗取3.14159,結果保留兩位小數(shù)位;另外,程序只要能對 r 在 0 到 10000 范圍的情況輸出正確答案即可) 第一組自測數(shù)據(jù)鍵盤輸入 65.2 /鍵盤輸入正確輸出11.2/13355.02正確輸出第二組自測數(shù)
9、據(jù)394.08提示 結果保留兩位小數(shù)可采用 printf 函數(shù)的格式控制字符來實現(xiàn)。參考程序:#include "stdio.h"main() float area,r;scanf("%f",&r);area=3.14159*r*r;printf("%0.2f",area);5題目1015:計算攝氏溫度值從鍵盤輸入一個華氏溫度值,要求按格式輸出其對應的攝氏溫度值,精確到小數(shù)點后兩位。數(shù)學公式描述為:-5 _-C = 5(F 32)第二組自測數(shù)據(jù)鍵盤輸入100/正確輸出37.78第一組自測數(shù)據(jù)鍵盤輸入100/正確輸出37.78提
10、示注意公式中的除為普通除法參考程序:#include<stdio.h>void main() float f,c;scanf("%f",&f);c=5.0/9*(f-32);printf("%.2f”,c);實驗 4 選擇結構程序設計一、實驗目的( 1 )了解 C 語言表示邏輯的方法(以 0 代表“假”,以非0 代表“真”)。( 2 )學會正確使用邏輯運算符和邏輯表達式。( 3 )熟練掌握if 語句和 switch 語句。( 4 )結合程序掌握一些簡單的算法。二、實驗內容題目1120:判斷點是否在圓上由鍵盤輸入一個點的坐標 , 要求編程判斷這個
11、點是否在單位圓上,點在圓上輸出 Y, 不在圓上輸出N 。使用小數(shù)點后3 位精度進行判斷。第一組自測數(shù)據(jù)第二組自測數(shù)據(jù) 鍵盤輸入鍵盤輸入0.707,0.707 /0.5,0.5 /正確輸出正確輸出YN提示 ( 1 )平面上的點與圓的關系分為在圓內、在圓上、在圓外三種,本題要求判斷是否在圓上;(2)判斷兩實數(shù)相等采用判斷這兩實數(shù)的差的絕對值小于規(guī)定誤差精度(本題為 0.001)的方法實現(xiàn)。參考程序:#include "stdio.h"#include "math.h"void main() float a,b;scanf("%f,%f",
12、&a,&b);if(fabs(a*a+b*b-1)1e-3)printf("Yn");else printf("Nn");題目1017:求數(shù)的位數(shù)由鍵盤輸入一個不多于9 位的正整數(shù),要求輸出它是幾位數(shù)。第一組自測數(shù)據(jù)第二組自測數(shù)據(jù)鍵盤輸入鍵盤輸入349213 /10000/正確輸出正確輸出65提示劃定一位數(shù)、二位數(shù)、九位數(shù)的范圍,然后用 ifelse ifelse語句實現(xiàn)判斷。參考程序:main() int n,place;scanf("%ld",&n);if(n>99999999) place=9;el
13、se 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(n>999) place=4;else if(n>99) place=3;else if(n>9) place=2;else place=1;printf("%ldn",place);題目1018 :數(shù)的排序由鍵盤輸入三個整數(shù)a、 b 、 c ,按從小到大的順序輸出這三個數(shù)。 第一組自測數(shù)據(jù)第二組自測數(shù)據(jù) 鍵盤輸入鍵盤輸
14、入65,45,90/9,6,3/ 正確輸出正確輸出45,65,903,6,9參考程序:#include<stdio.h>main() int a,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 個字符,將其中的大寫字母變成小寫,其它類型的字符不變,并按輸入順序逐個輸出。 第一組
15、自測數(shù)據(jù)第二組自測數(shù)據(jù) 鍵盤輸入鍵盤輸入ApPLe /a+B=5 / 正確輸出正確輸出applea+b=5 提示 下面代碼實現(xiàn)由鍵盤讀入一個字符,并按題意處理后輸出char a;a=getchar();if(a>='A' && a<='Z') a=a+32;putchar(a);#現(xiàn)在,題目要求處理5個字符,怎么做呢?請自己思考參考程序:#include <stdio.h>main() char a,b,c,d,e;scanf("%c%c%c%c%c",&a,&b,&c,&
16、;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(&q
17、uot;%c%c%c%c%c",a,b,c,d,e);9題目1019:數(shù)的整除由鍵盤輸入 5 個整數(shù),逐個判斷它們能否被輸出時,一個判斷結果占一行, 5 個數(shù)的判斷共占第一組自測數(shù)據(jù)鍵盤輸入8 2717577325 54 /正確輸出NOYES27整除,能的輸出“YES” ,不能的輸出“NO” (注意,行)。第二組自測數(shù)據(jù)鍵盤輸入8 27 17577 325 54 /正確輸出NOYESYESYESNOYES提示 整除即除得余數(shù)為0參考程序:NOYES#include "stdio.h"main() int a,b,c,d,e;scanf("%d %d %d
18、 %d %d",&a,&b,&c,&d,&e);if(a%27=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("NO
19、n");if(e%27=0) printf("YESn");else printf("NOn");題目1020 :正負奇偶判斷由鍵盤輸入非零整數(shù)x ,判斷該數(shù)正負,正數(shù)輸出偶性,奇數(shù)輸出odd ,偶數(shù)輸出even。第一組自測數(shù)據(jù)鍵盤輸入-43 /正確輸出positive ,負數(shù)輸出negative ,接著判斷該數(shù)的奇negativeodd第二組自測數(shù)據(jù)鍵盤輸入98/正確輸出參考程序:#include "stdio.h"main() int n;scanf("%d",&n);if(n<0)pr
20、intf("negative'n");else printf("positive'n"); if(n%2=0)printf(',evenn,'); else printf("odd'n");positive even題目1023:簡單計算器下面程序是實現(xiàn)一個簡單的運算器(保留兩位小數(shù)點),如果由鍵盤輸入10+50,計算機可以輸出結果60.00;如果輸入 8*6,計算機輸出 48.00;如果輸入 20/4,計算機輸出5.00;如果輸入 8-6,計算機輸出2.00,請在空處填上適當?shù)拇a,運行通過后
21、并提交。#include ,stdio.h"void main() float a,b,c;char op;scanf("%f%c%f, );switch (op) case '+':;case '-':;case '/':;default: printf("error");return ; printf("result= , c);第一組自測數(shù)據(jù)鍵盤輸入45*2 /正確輸出第二組自測數(shù)據(jù)鍵盤輸入50.1-23/正確輸出9027.10#include <stdio.h>int main
22、() 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",c);42511第二組自測數(shù)據(jù)鍵盤輸入8/正確輸出4032
23、0第二組自測數(shù)據(jù)鍵盤輸入5/正確輸出實驗 5 循環(huán)結構程序設計(一)、實驗目的1)熟悉掌握用 while 語句、 do-while 語句和 for 語句實現(xiàn)循環(huán)的方法。2)掌握在程序設計中用循環(huán)實現(xiàn)一些常用算法(如窮舉、迭代、遞推等)。、實驗內容 題目1024 :計算階乘輸入正整數(shù)n,計算n!,結果用長整型數(shù)表示(注n!=1*2*3*n ) 第一組自測數(shù)據(jù) 鍵盤輸入5/ 正確輸出120參考程序:#include<stdio.h>main() long i,n=1,a;scanf("%ld",&a);for(i=1;i<=a;i+) n=n*i; p
24、rintf("%ldn",n);題目1025 :計算數(shù)列和 有數(shù)列 1, 3, 5, 7, 9, 11 ,現(xiàn)要求由鍵盤輸入 n ,計算輸出該數(shù)列的前n 項和。 第一組自測數(shù)據(jù) 鍵盤輸入2/ 正確輸出#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("%ldn",sum); 或#include <stdio.h>main() long n,sum;sc
25、anf("%ld",&n);sum=n*n;printf("%ld",sum);注:評判系統(tǒng)不對程序實現(xiàn)細節(jié)進行分析,只對運行結果進行評測。題目1026 :累加一行字符中的數(shù)字由鍵盤輸入一行字符(總字符個數(shù)從 1 個至 80 個均有可能,以回車符表示結束),將其中每個數(shù)字 字符所代表的數(shù)值累加起來,輸出結果。第一組自測數(shù)據(jù)第二組自測數(shù)據(jù)鍵盤輸入鍵盤輸入abcl23 /A6H7T+6g正確輸出正確輸出624提示 ( 1 )可以使用下面程序段逐個讀入鍵盤輸入的一行字符char ch;while(ch=getchar()!='n') (
26、 2)數(shù)字字符轉為對應的數(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ù)由鍵盤輸入兩個正整數(shù)m 、 n( m、 n 用長整數(shù)表示),計算它們的最大公約數(shù)。 第一組自測數(shù)據(jù)第二組自測數(shù)據(jù) 鍵盤輸入鍵盤輸入16,24/17,25/ 正確輸
27、出正確輸出81 提示 公約數(shù)是既能整除m 又能整除 n 的數(shù),題目要求滿足這一條件的最大的一個。參考程序:#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("%ld,%ld",&m,&n);t=m>n?n:m;for (i
28、=t-1;i>=1;i-) if (m%i=0&&n%i=0) s=i; break; printf("%d",s); 題目 1030 :字符變換 由鍵盤輸入一個句子(總字符個數(shù)從1 個至 80 個均有可能,以回車符表示結束),將其中的大寫字符變成小寫(其它類型的字符不變),最后輸出變換后的句子。 第一組自測數(shù)據(jù)第二組自測數(shù)據(jù) 鍵盤輸入鍵盤輸入How Are You? /ThiS IS My fIrSt C ProgrAm! / 正確輸出正確輸出how are you?this is my first c program!參考程序:#include &
29、lt;stdio.h> main() char c;while(c=getchar()!='n') if(c>='A'&&c<='Z')c=c+32;putchar(c); 題目1037:計算數(shù)列和有數(shù)列:5#編程實現(xiàn),由鍵盤輸入第一組自測數(shù)據(jù)鍵盤輸入20/正確輸出32.66032_312n,計算輸出數(shù)列前5813213581an項和。(結果保留四位小數(shù)) 第二組自測數(shù)據(jù) 鍵盤輸入30/ 正確輸出88.0403參考程序:#include<stdio.h>main() int i,t,n;float a
30、=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:輸出最小值從鍵盤輸入十個整數(shù),輸出最小值自測數(shù)據(jù)鍵盤輸入12 4576 875 8743 5599 21 /正確輸出參考程序:#include "stdio.h" main() int i,t,min;scanf("%d", &min); for(i=1;i<10;i+)scanf("%d&quo
31、t;, &t); if(t<min) min=t;printf("%dn",min); 題目 1031 :統(tǒng)計單詞個數(shù) 個均有可能,以回車符表示結束),以空格分割單詞,第二組自測數(shù)據(jù)鍵盤輸入There are many students and many trees! /正確輸出7由鍵盤輸入一個句子(總字符個數(shù)從1 個至 80要求輸出單詞的個數(shù)。 第一組自測數(shù)據(jù) 鍵盤輸入How Are You? / 正確輸出3參考程序:#include<stdio.h>main() int i,num=0,word=0;char c;for(i=0;(c=getc
32、har()!='n'i+)if(c=' ')word=0;else if(word=0) word=1;num+;printf("%d",num); 題目 1042 :百萬富翁一個百萬富翁遇到一個陌生人,陌生人找他談了一個換錢的計劃。該計劃如下:我每天給你m 元,而你第一天只需給我一分錢。第二天我仍給你m 元,你給我2 分錢。第三天,我仍給你 m 元,你給我分錢。依次類推,你每天給我的錢是前一天的兩倍,直到一個月 (38) 天。百萬富翁很高興,欣然接受這個契約。現(xiàn)要求,編寫一個程序,由鍵盤輸入m ,計算多少天后,百萬富翁開始虧錢。 第一組自測
33、數(shù)據(jù)18 鍵盤輸入 第二組自測數(shù)據(jù)100/鍵盤輸入正確輸出io。/15正確輸出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);17實驗 6 循環(huán)結構程序設計(二)實驗目的1)2)。while 語句、 do-while 語句和 for 語句實現(xiàn)循環(huán)的方法。掌握在程序設計
34、中使用多重循環(huán)。實驗內容 題目1028 :求素數(shù) 輸出 2 到 200 之間(包括2 、 200)的所有素數(shù)(注:要求1 行 1 個素數(shù),按由小到大的順序輸出)。 提示 采用雙重循環(huán),外層循環(huán)產(chǎn)生2 到 200 之間的數(shù),內層循環(huán)對數(shù)進行判斷是否為素數(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);
35、 題目1.#include<stdio.h> void main()1137 :找到滿足要求的數(shù)字int a,b,n;for (n=0;n<=9999;n+)if (n%7=0)a=n;while(a!=0)b=a/10;b=a-b*10;a=a/10;if (b=5)printf ("%dn",n);break;ooo或者在GCC環(huán)境下運行)在C中先才TEP 1-5000的,再打印500099996勺2.#include <stdio.h>#include <stdlib.h>int main()int i, j, k, m, n
36、;for (i=0;i<=9;i+)for (j=0;j<=9;j+)for(k=0;k<=9;k+)for(m=1;m<=9;m+)n=i*1000+j*100+k*10+m;return 0; if(n%7=0)&&(n%1000=5|n%100=5|n%10=5) 0,;3#include<stdio.h> void p(int i) int j;for(j=i;j>0;j/=10) if(j%10=5) printf("%dn",i); break;nt main()(int i;for(i=7;i<=
37、9999;i+) if(i%7=0)單元測試:打印星號空心菱形#include<stdio.h> int main() int i,j,k,line,m;printf("請輸入行數(shù):");scanf("%d",&line);m=(line+1)/2;for(i=1;i<=m;i+) for(k=0;k<m-i;k+) printf("");printf("*");if(i=1)printf("n");continue; for(j=0;j<2*i-3;j+)
38、 printf("");printf("*");printf("n");for(i=m-1;i>0;i-) for(k=0;k<m-i;k+) printf("");printf("*");if(i=1)printf("n");continue; for(j=0;j<2*i-3;j+)printf("");printf("*");printf("n");return 0;題目1035:打印菱形2*n
39、+1行的菱形圖案。要求菱形左邊緊靠屏幕左邊。第二組自測數(shù)據(jù)鍵盤輸入2/正確輸出*由鍵盤輸入正數(shù)n,要求輸出第一組自測數(shù)據(jù)鍵盤輸入3/正確輸出*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("*&quo
40、t;); printf("n");題目1038 :打印圖案要求菱形左邊緊靠屏幕左邊。第二組自測數(shù)據(jù)鍵盤輸入3/正確輸出1121123211211由鍵盤輸入正數(shù)n,要求輸出中間數(shù)字為n的菱形圖案。第一組自測數(shù)據(jù)鍵盤輸入4/正確輸出1121123211234321123211211參考程序:# include<stdio.h># include<math.h>main() int n,i,j,k,h;scanf("%d",&n);for(i=-n+1;i<=n-1;i+)for(j=0;j<abs(i);j+)pr
41、intf(" ");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ù)組一、實驗目的( 1)掌握一維數(shù)組和二維數(shù)組的定義、賦值和輸入輸出方法。( 2)掌握與數(shù)組有關的算法。二、實驗內容 題目 1039 :倒序 由鍵盤輸入 10 個整數(shù),倒序輸出。(數(shù)字間由一個空格分隔) 自測數(shù)據(jù) 鍵盤輸入70 5 14 2019 299 6713 66/ 正確輸出66 13
42、67 992 192014570參考程序:#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)計不同數(shù)字個數(shù)由鍵盤輸入 20 個整數(shù),統(tǒng)計不同數(shù)字的個數(shù)。 自測數(shù)據(jù) 鍵盤輸入70 5 14 2219 299 6713 66 5 93 44 38 22 11 39 22 33 11 / 正確輸出16 提示 上述答案中,因為 5 有 1 個重復數(shù)字, 1
43、1 有 1 個重復數(shù)字, 22 有 2 個重復數(shù)字,故不同數(shù)字有16個,分別是705 14 2219 2 99 67 13 6693 44 38 11 39 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 :打印矩陣由鍵盤輸入一個3必 的矩陣,要求輸出它的轉置矩陣 自測數(shù)據(jù)正確輸出 1
44、 1 16 1 990 83 2 9鍵盤輸入1 6 9 31 1 0 21 9 8 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 :冒泡排序由鍵盤輸入 10 個數(shù),用“冒泡法”對 10 個數(shù)從小到大排序
45、,并按格式要求輸出。代碼如下,請?zhí)畛渫暾?數(shù)字間由一個空格分隔。#incude "stdio.h main() int a10, i, j, t;21for(i=0;i<10;i+) scanf("%d",) ;for( ) for(j=0;j<j+)if ()for(i=0;i<10;i+) printf("%d ",ai); 自測數(shù)據(jù) 鍵盤輸入70 5 14 2019 299 671366/正確輸出2 5 13 14 19 2066 67 70 99參考程序:#include<stdio.h>main() i
46、nt 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 :計算高精度加法 80 位),試計算并輸出這兩個數(shù)由鍵盤輸入兩個位數(shù)很長的整數(shù)(一行一個數(shù),每個數(shù)最長不超過的和。 自測數(shù)據(jù) 鍵盤輸入1234567890123456789 /987654321098765
47、 / 正確輸出 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'if(n1>n2)
48、 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); 題目:找矩陣中的鞍點 由鍵盤輸入一個 3X4 (3行4歹U)的矩陣,輸出矩陣中的鞍點(即在矩陣行中最大,列中最小的數(shù)) 若沒有鞍點,輸出“ NO ”字樣。 自測數(shù)據(jù)鍵盤輸入8790110 98/7097210 65 /9845120 30/正確輸出 110參考程序:#i
49、nclude <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”,max);br
50、eak;if(!flag)printf("NO");第7單元單元測試:打印楊輝三角#include <stdio.h>int c(x,y) /求楊輝三角形的第x行第y列的值int x,y;匚int z;if(y=i)l(y=x+i) /若為x行的第1或第x+i列,剛輸出1return (1);z=c(x-1,y-1)+c(x-1,y);/ 否則,其值為前一行中第y-1列與第y列值之和return (z);void main()int i,j,n=13;printf("N=");while(n>12)scanf("%d"
51、;,&n); /控制輸入正確的值以保證屏幕顯示的圖形正確for(i=0;i<=n;i+) /控制輸出即亍/for(j=0;j<12-i;j+) /控制輸出第i行前面的空格/printf("");for(j=1;j<i+2;j+) /輸出第i行的第j個值printf("%6d",c(i,j);printf("n");#include "stdio.h"#define N 50void yang(int aN,int n) int i,j;for(i=0;i<n;i+)aaii0i=11
52、; ;for(i=2;i<n;i+)for(j=1;j<i;j+) aij=ai-1j-1+ai-1j; void main()int n,j,i;int aNN;scanf("%d",&n);yang(a,n);for(i=0;i<n;i+)for(j=0;j<=i;j+) printf("%d,",aij); putchar('n'); 3.#include <stdio.h> main()long i,j,n,k;scanf("%ld",&n);for(i=1;
53、i<=n;i+)k=1;for(j=1;j<i;j+) printf("%ld,",k); k=k*(i-j)/j;21printf("1n"); 實驗8字符數(shù)組的應用一、實驗目的(1)掌握字符數(shù)組和字符串函數(shù)的使用。(2)掌握與字符串處理有關的算法。二、實驗內容題目1121:定義存貯字符串的字符數(shù)組在下面程序中填充定義字符數(shù)組的語句,使程序完整#include "string.h"void main() char s80;/*定義字符數(shù)組 s*/strcpy(s, "abcdefghijklmn");
54、printf("%s", s);參考程序:題目1123:字符串的輸入與輸出下面程序實現(xiàn)從鍵盤讀入字符串,然后輸出到屏幕,請?zhí)畛浔匾恼Z句#include "stdio.h"void main()char s50;printf("What's your name?");gets(s); /*由鍵盤讀入字符串 */printf("Your name is ",);printf(" 紋,s); /*打印字符串*/參考程序:題目1122:字符串的合并3個字符串以輸入先后順序合并到從鍵盤輸入 3個字符串(每
55、個字符串以回車符做為結束標志),將 字符串s中,請?zhí)羁帐褂贸绦蛲暾?include "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);自測數(shù)據(jù)鍵盤輸入正確輸出123123abc456abc456參考程序:題目1050:尋找字符串由鍵盤輸入兩個字符串(假設第一個字符串必
56、包含第二個字符串,如第一個字符串為ABCDEF ,第二個為 CDE,則CDE包含在 ABCDEF中),現(xiàn)要求編程輸出第二字符串在第一行字符串中出現(xiàn)的位置。(如果第二個字符串在第一個字符串中出現(xiàn)多次,則以最前出現(xiàn)的為準)第一組自測數(shù)據(jù)第二組自測數(shù)據(jù)鍵盤輸入鍵盤輸入ABCDEFG /hellhello! /DE/hello/正確輸出正確輸出45提示方法1:建立雙重循環(huán),外層循環(huán)變量指示第一個串的查找起始位置,內層循環(huán)從起始位置開始判斷第二個字符中是否出現(xiàn)在此處;方法 2:使用字符串函數(shù)strstr()。參考程序:#include "stdio.h"main() int i,j;cha
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025豐巢智能柜合作合同協(xié)議書范本模板
- 2025鐵塔勞務合同
- 建筑工程鋼筋購銷合同
- 2025品牌設計包年服務合同
- 2025北京市存量房屋買賣合同(樣本)
- 2025終止或解除勞動合同
- 2025解除勞動合同補償說明協(xié)議書范本
- 二手汽車買賣協(xié)議合同范本
- 電力服務合同
- 2025軟件銷售合同模板
- 組建農(nóng)產(chǎn)品供應鏈公司方案
- 面試評估報告
- 2022年山東省青島一中自主招生化學模擬試卷一(附答案詳解)
- 液壓阻尼器工作原理
- 小學畢業(yè)紀念冊教學課件
- 寶典三猿金錢錄
- 個人房屋買賣購房合同
- 聚合物粘彈性
- 養(yǎng)老護理員培訓老年人日常生活照料
- 各種抽油泵的結構及工作原理幻燈片
- 學習弘揚雷鋒精神主題班會PPT雷鋒精神我傳承爭當時代好少年PPT課件(帶內容)
評論
0/150
提交評論