安徽大學(xué)C語言實(shí)驗(yàn)平臺(tái)作業(yè)答案_第1頁
安徽大學(xué)C語言實(shí)驗(yàn)平臺(tái)作業(yè)答案_第2頁
安徽大學(xué)C語言實(shí)驗(yàn)平臺(tái)作業(yè)答案_第3頁
安徽大學(xué)C語言實(shí)驗(yàn)平臺(tái)作業(yè)答案_第4頁
安徽大學(xué)C語言實(shí)驗(yàn)平臺(tái)作業(yè)答案_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、實(shí)驗(yàn)三 C基本數(shù)據(jù)類型及運(yùn)算1. 編程:根據(jù)需要定義相關(guān)變量,鍵盤輸入10.0、20.6、5.0三個(gè)實(shí)數(shù)分別賦給相關(guān)三個(gè)變量,輸出該3個(gè)變量的和s、乘積p和平均值a。     2. 編程:輸入球的半徑,計(jì)算球體表面積和球體積。     3. 編程:定義6個(gè)變量,通過鍵盤將“10,  10,  40000,  a,  3.14,  hello”這六個(gè)值分別賦給相應(yīng)變量,然后在屏幕上輸出變量的值(每行輸出一個(gè)變量)。   

2、0; 4. 編程:從鍵盤接收1個(gè)字符給變量s1,1個(gè)字符串(允許帶有空格)給字符數(shù)組s2,輸出字符變量s1的ASCII碼值及字符數(shù)組s2中的字符串。     5. 編程:從鍵盤輸入二個(gè)整數(shù)分別賦給整型變量a、b,將它們按由小到大的順序輸出。     6. 編程:調(diào)用標(biāo)準(zhǔn)庫函數(shù)sin(x)計(jì)算6800的正弦值(此題為選做)。     7. 編程:鍵盤輸入一個(gè)實(shí)數(shù)賦給變量x,計(jì)算 y=x*x*x+x*x+x 的值,分別輸出y值、y值的整數(shù)部分和小數(shù)部分(此題為選做)。 

3、    8. 編程:鍵盤輸入四個(gè)整數(shù)分別賦給整型變量a、b、c、d,用三目運(yùn)算方法將它們按由大到小的順序輸出(此題為選做)。1. #include<stdio.h>main()float x,y,z,s,p,a;scanf("x=%fy=%fz=%f",&x,&y,&z);s=x+y+z;p=x*y*z;a=s/3;printf("s=%f,p=%f,a=%f",s,p,a);2. #include<stdio.h>main()float r,s,v;printf("

4、input r");scanf("%f",&r);s=4*3.14*r*r;v=4/3*3.14*r*r*r;printf("s=%f,v=%f",s,v);3. #include<stdio.h>main()int a,b;long c;char d,st6;float e;scanf("%d%d%ld%c%f%s",&a,&b,&c,&d,&e,st);printf("a=%dn,b=%dn,c=%dn,d=%cn,e=%fn,ch=%s",

5、a,b,c,d,e,st);4. #include<stdio.h>main() char s1,s26;scanf("%c%s",&s1,s2);printf("s1=%d,s2=%s",s1,s2);5. #include<stdio.h>main() int a,b;scanf("a=%db=%d",&a,&b);if (a<b)printf("a=%db=%d",a,b);else printf("b=%da=%d",b,a);6.

6、#include<math.h>#include<stdio.h>main()float a,b;scanf("%f",&a); b=sin(a); printf("%f",b);7. #include<stdio.h>main()float x,y,b;int a;scanf("%f",&x);y=x*x*x+x*x+x;a=(int)y;b=y-a;printf("%fn%dn%fn",y,a,b);實(shí)驗(yàn)四 C分支結(jié)構(gòu)程序設(shè)計(jì)1. 編程:從鍵盤輸入一

7、個(gè)字符,如是大寫字母,則輸出相應(yīng)小寫字母;如是小寫字母,則原樣輸出;其它字符輸出“Not letter!”。     2. 編程:判斷輸入的正整數(shù)是否既是3又是5的整數(shù)倍。若是,輸出Yes,否則輸出No。     3. 編程:從鍵盤輸入三個(gè)整數(shù),分別賦給變量a,b,c,輸出其中的最大值(要求不改變a、b、c的值)。     4. 編程:用scanf輸入任意兩個(gè)數(shù)分別賦給變量a、b,若a大于等于b,則直接輸出a、b,否則將a、b的值交換(即a的原值放入b中,b的原值放入a中)后

8、再輸出。     5. 編程:輸入整數(shù)a和b,若a2+ b2大于100,則輸出a2+ b2百位以上的數(shù)字,否則輸出兩數(shù)之和。     6. 編程:從鍵盤輸入三個(gè)整數(shù),分別賦給變量a,b,c,請(qǐng)按從小到大的順序依次輸出a、b、c(要求不改變a、b、c的值)。     7. 編程:從鍵盤輸入三個(gè)整數(shù),分別賦給變量a,b,c,請(qǐng)按從小到大的順序依次將這三個(gè)數(shù)存放于a、b、c中,最后輸出a、b、c。     8. 編程:由系統(tǒng)生成一個(gè)10以內(nèi)的

9、隨機(jī)整數(shù),用戶從鍵盤上輸入一個(gè)10以內(nèi)的整數(shù),如果兩者相等輸出“OK”,否則輸出“ERROR”。     注:隨機(jī)數(shù)的生成必須包含頭文件#include <stdlib.h>、#include <time.h>,必須用初始化語句srand(unsigned)time(NULL);,表達(dá)式rand()%a+1的值為1a內(nèi)的隨機(jī)整數(shù)1. #include<stdio.h>main()char x;scanf("%c",&x);if(x>='a'&&x<

10、='z') printf("%c",x);else if (x>='A'&&x<='Z') printf("%c",x+32); else printf("Not letter!");2. #include<stdio.h>main()int x;scanf("%d",&x);if (x>0) if(x%3=0&&x%5=0) printf("Yesn"); else print

11、f("Non");else printf("Error!");3. #include<stdio.h>main()int a,b,c,max;scanf("%d%d%d",&a,&b,&c);max=a>b?a:b;max=max>c?max:c;printf("a=%d,b=%d,c=%d,max=%d",a,b,c,max);4. #include<stdio.h>main()float a,b;scanf("%f%f",&

12、a,&b);if(a<b)a=a+b; b=a-b; a=a-b;printf("a=%f,b=%fn",a,b);5.#include<stdio.h>main()int a,b,t,r,s;scanf("%d%d",&a,&b);s=a+b;r=a*a+b*b;t=r/100;if(r>100)printf("%d",t);else printf("%d",s);6.#include<stdio.h>int main()int a,b,c,d,max,

13、min;scanf("%d%d%d",&a,&b,&c);if(a>=b)max=a;min=b; else max=b; min=a;if(c>=max)max=c;if(c<=min) min=c;d=a+b+c-min-max;printf("%d %d %dn",min,d,max);7.#include <stdio.h>main() int a, b, c, d; scanf("%d%d%d",&a,&b,&c); if(a>=b) d =

14、 a; a = b; b = d; else if(b>=c) d = b; b = c; c = d; printf("a=%d b=%d c=%d",a,b,c);8.#include<stdio.h>#include<stdlib.h>#include<time.h>main()int a,b;srand(unsigned)time(NULL);b=rand()%10+1;scanf("%d",&a);printf("a=%d,隨機(jī)數(shù)b=%dn",a,b);if(a=b)prin

15、tf("OK!n");else printf("ERROR!n");實(shí)驗(yàn)五 C多分支結(jié)構(gòu)程序設(shè)計(jì)*1. 編程:計(jì)算獎(jiǎng)學(xué)金ss的值,已知獎(jiǎng)學(xué)金ss與成績s的關(guān)系為:                                  

16、    具體要求:                (1)用 if 語句實(shí)現(xiàn)分支結(jié)構(gòu)的編程。              (2)s為整型,ss要求精確到小數(shù)點(diǎn)后二位。          

17、;    (3)用scanf函數(shù)給s賦值,且輸入前有相應(yīng)提示。              (4)結(jié)果輸出時(shí)采用以下形式:                   成績s具體值,獎(jiǎng)學(xué)金ss=具體值     2.  設(shè)

18、函數(shù)f(x)如下,求函數(shù)函數(shù)法f(x)的值。                                     具體要求:         &#

19、160;      (1)用條件表達(dá)式編程。              (2)用if語句編程。              (3)用scanf函數(shù)給自變量賦值,且輸入前有相應(yīng)提示。         &#

20、160;    (4)結(jié)果輸出時(shí)采用以下形式:                   x具體值,f(x)=具體值              (5)給出你所使用的測(cè)試用例。       

21、0;    提示:            按C的語法規(guī)則,標(biāo)識(shí)符由字母、數(shù)字、下劃線組成,不能將f(x)作為變量名,本題中,函數(shù)名可起為 f 或 y 等。但作為非格式控制字符,f(x)完全可以出現(xiàn)在printf函數(shù)的雙引號(hào)內(nèi)。     3. 編程:輸入一個(gè)整數(shù),判斷它能否被3,5,7整除,并輸出以下信息之一:       

22、60;      (1)能同時(shí)被3,5,7整除。              (2)能被其中兩數(shù)整除(指出是哪兩個(gè)數(shù))。              (3)能被其中一個(gè)數(shù)(指出是哪一個(gè)數(shù))整除。        &#

23、160;     (4)不能被3,5,7任一個(gè)數(shù)整除。     4. 編程:用switch 語句編寫一個(gè)簡單的計(jì)算器程序,輸入格式為:data1 op data2。其中data1和data2為參加運(yùn)算的兩個(gè)數(shù);op為運(yùn)算符,取值只能是+、-、*、/。     5. 編程:計(jì)算你的出生日期是星期幾。              (1)通過鍵盤輸入你出生

24、那一年的元旦是星期幾              (2)通過鍵盤輸入你的出生日期              (3)輸出結(jié)果1.#include<stdio.h>main()int s; float ss;printf("Please input sn");scanf("%d",&s

25、);if(s<0|s>100) printf("ERROR!n");else if(s>=0&&s<80) ss=0; else if(s>=80&&s<90) ss=100+s; else if(s>=90&&s<=100) ss=200+s*3/2;printf("成績s=%d,獎(jiǎng)學(xué)金ss=%0.2fn",s,ss);2.#include<stdio.h>main()float x;int f;printf("Please input

26、 xn");scanf("%f",&x);if(x=0) f=0;else f=(x>0)?1:-1;printf("x=%f,f(x)=%dn",x,f);3.#include<stdio.h>main()int x,a,b,c;printf("請(qǐng)輸入一個(gè)整數(shù)x");scanf("%d",&x);a=x%3;b=x%5;c=x%7;if(a=0&&b=0&&c=0) printf("%d能同時(shí)被3,5,7整除n",x)

27、;else if(a=0 && b=0) printf("%d能被3,5整除n",x); else if(a=0 && c=0) printf("%d能被3,7整除n",x); else if(b=0 && c=0) printf("%d能被5,7整除n",x); else if(a=0) printf("%d能被3整除n",x); else if(b=0) printf("%d能被5整除n",x); else if(c=0) printf(&qu

28、ot;%d能被7整除n",x); else printf("%d不能被3,5,7任意一個(gè)數(shù)整除n",x);4.#include <stdio.h>main()char op;float d1,d2;printf("請(qǐng)輸入算式");scanf("%f%c%f",&d1,&op,&d2);switch(op) case '+': printf("%g+%g=%gn",d1,d2,d1+d2);break; case '-': printf(&

29、quot;%g-%g=%gn",d1,d2,d1-d2);break; case '*': printf("%g*%g=%gn",d1,d2,d1*d2);break; case '/': printf("%g/%g=%gn",d1,d2,d1/d2);break; 5.#include<stdio.h>main()int x,m,d;printf("請(qǐng)輸入你出生那年元旦的星期(1至7):n");printf("請(qǐng)輸入你的出生日期 (mm/dd) : n");s

30、canf("%d,%d,%d",&x,&m,&d);switch (m*30+d)/7)case 0:printf("你出生那天為星期%d",x);break;case 1:printf("你出生那天為星期%d",x+1);break;case 2:printf("你出生那天為星期%d",x+2);break;case 3:printf("你出生那天為星期%d",x+3);break;case 4:printf("你出生那天為星期%d",x+4);br

31、eak;case 5:printf("你出生那天為星期%d",x+5);break;case 6:printf("你出生那天為星期%d",x+6);break;實(shí)驗(yàn)六 C循環(huán)結(jié)構(gòu)程序設(shè)計(jì)1. 編程:輸出200以內(nèi)所有能被7整除的數(shù)。       2. 編程:求出1 1000之間能被13整除的最大的那個(gè)數(shù)。       3. 編程:找出若干個(gè)非零數(shù)中的最小值m以及它們的平均值a。    &

32、#160;     要求:若干個(gè)數(shù)由鍵盤輸入,每次輸入一個(gè)賦給變量x,x為零時(shí),結(jié)束輸入。       4. 編程:求兩個(gè)正整數(shù)m、n之間所有奇數(shù)之和x與偶數(shù)之和y。          要求:                (1)m、n的值由鍵盤輸入。

33、0;             (2)輸入時(shí),允許用戶隨意先輸入大的或小的整數(shù)。       5. 編程:計(jì)算函數(shù)y的值。要求鍵盤接收自變量x的值,若x的值不為零,計(jì)算函數(shù)y的值并輸出,再從鍵盤接收下一個(gè)x的值,直到x的值為零,顯示“Thank You,Bye!”,爾后結(jié)束程序,已知函數(shù)y與自變量x的關(guān)系為:         &#

34、160;                       6. 編程:計(jì)算的近似值,的計(jì)算公式為:                         

35、60;           要求:                (1)n值由鍵盤輸入。              (2)分別輸出當(dāng)n 為10、100、1000時(shí)的計(jì)算結(jié)果。    

36、0;         (3)輸出時(shí)要求每行顯示一組n、的值,每行形式如下:                   n具體值, = 具體值                 &

37、#160;   7. 我國現(xiàn)有人口13億,設(shè)年增長率為1%,編寫程序,計(jì)算多少年后增加到20億。       8. 求解愛因斯坦數(shù)學(xué)題。有一條長階梯,若每步跨2階,則最后剩余1階;若每步跨3階,則最后剩2階;若每步跨5階,則最后剩4階;若每步跨6階,則最后剩5階;若每步跨7階,最后才正好一階不剩。請(qǐng)問,這條階梯最少共有多少階?       9. 每個(gè)蘋果0.8 元,第一天買2 個(gè)蘋果,第二天開始,每天買前一天的2 倍,直至購買的蘋果個(gè)數(shù)達(dá)到不超過100 的

38、最大值。編程:求每天平均花多少錢?(此題為選做)      1.#include<stdio.h>main()int i;for(i=1;i<=200;i+)if(i%7!=0) continue;printf("%d ",i);2.#include<stdio.h>main()int i,max=0;for(i=0;i<=1000;i+)if(i%13!=0) continue;if (max<i) max=i;printf("max=%dn",max

39、);3.#include<stdio.h>main()int i;float x,m,s,a;scanf("%f",&x);if(x!=0) m=x;s=x;for(i=1;i+)scanf("%f",&x);if(x=0) break;s=s+x;if(m>x)m=x;a=s/i;printf("最小值m=%f,平均值a=%f",m,a);4.#include <stdio.h>void main()int i,m,n,t,x=0,y=0;scanf("%d%d",&

40、amp;m,&n);if(m>n)t=m;m=n;n=t;for(i=m;i<=n;i+) if(i%2) x+=i;else y+=i;printf("x=%dn",x);printf("y=%dn",y);5.#include<stdio.h>main()float x,y;printf("input x:");scanf("%f",&x);for (;x>=0;)if(x>0&&x<100)y=3*x+1;printf("%f

41、",y);else if(x>=100)y=x*x-1;printf("%f",y);elseprintf("thank you bey !");break;scanf("%f",&x);6.#include<stdio.h>main() int n,i; double t,sum; printf("請(qǐng)輸入n的值n"); scanf("%d",&n); sum=2; i=1; t=2; while(i<n) t=t*(2*i)*(2*i)/(2*

42、i-1)/(2*i+1); i=i+1; printf("n=%d,=%fn",n,t);7.#include<stdio.h>main()double t=13,s=0;while(t<=20)t=t*(1+0.01);s+;printf("需要經(jīng)過%lf 年",s);8.#include<stdio.h>main()int x=7;while( !(x%2=1&&x%3=2&&x%5=4&&x%6=5)x=x+7;printf("%dn",x);9.#i

43、nclude <stdio.h>main()float s=0; int n=1,p=0,d=0; do d+; n=n*2; p=p+n; while(p+n*2<=100); s=p*0.8/d; printf("每天平均花%g元錢!n",s);實(shí)驗(yàn)七 C多重循環(huán)結(jié)構(gòu)程序設(shè)計(jì)1. 編程:輸出100以內(nèi)個(gè)位數(shù)為6且能被3整除的所有數(shù)。     2. 編程:鍵盤輸入6 位學(xué)生的5門課成績,分別統(tǒng)計(jì)出每個(gè)學(xué)生的平均成績。     3. 編程:輸入一個(gè)正整數(shù),統(tǒng)計(jì)該數(shù)的各

44、位數(shù)字中零的個(gè)數(shù),并求各位數(shù)字中的最大者。     4. 編程:分別用do while、while、for三種循環(huán)結(jié)構(gòu)求: 1!+2!+3!+.+n! ,要求n的值由鍵盤輸入。     5. 編程:計(jì)算100至1000之間有多少個(gè)數(shù)其各位數(shù)字之和是5。     6. 編程:從鍵盤輸入的10個(gè)整數(shù)中,找出第一個(gè)能被7整除的數(shù)。若找到,輸出此數(shù)后退出;若未找到,輸出“not exist”。     7. 編程:輸出1至100之間滿足如下條件

45、的數(shù):各位數(shù)的乘積大于各位數(shù)的和。     8. 編程:將整數(shù)316表示為兩個(gè)加數(shù)的和,使這兩個(gè)加數(shù)分別能被13和11整除。     9. 編程:打印出所有的"水仙花數(shù)"。所謂的"水仙花數(shù)"是指一個(gè)3位數(shù),其各位數(shù)字的立方和等于該數(shù)本身。例如,153是一個(gè)"水仙花數(shù)",因?yàn)橛?53=1*1*1+5*5*5+3*3*3。    10. 編程:一條有10個(gè)車站的鐵路線,共需要準(zhǔn)備多少種車票?1.#include<s

46、tdio.h>main()int i;for(i=1;i<=100;i+)if(i%10=6&&i%3=0)printf("%d ",i);2.#include<stdio.h>main()int i,j,a65;float s;for(i=0;i<6;i+)s=0;for(j=0;j<5;j+)printf("請(qǐng)輸入第%d個(gè)學(xué)生的第%d門成績",i+1,j+1);scanf("%d",&aij);s=s+aij;s=s/5;printf("第%d個(gè)學(xué)生平均成績?yōu)?

47、fn",i+1,s);3.#include<stdio.h>main()int x,i,max,t;i=0;max=0;scanf("%d",&x);dot=x%10;if(t=0) +i;else if(max<t) max=t;x=x/10;while(x);printf("i=%d,max=%d",i,max);4.#include<stdio.h>main()int n,i,a,s=0;printf("請(qǐng)輸入n:");scanf("%d",&n);a=

48、1;for(i=1;i<=n;i+)a=a*i;s=s+a;printf("s=%dn",s);#include<stdio.h>main()int n,i=1,a=1,s=0;printf("請(qǐng)輸入n:");scanf("%d",&n);while(i<=n)a=a*i; s=s+a; i+;print("s=%d",s);#include<stdio.h>main()int n,i=1,a=1,s=0;printf("請(qǐng)輸入n:");scanf(&

49、quot;%d",&n);doa=a*i;s=s+a;i+;while(i<=n);printf("s=%d",s);5.void main()int i,s,k,count=0;for(i=100;i<1000;i+)s=0;k=i;while(k)s=s+k%10;k=k/10;if(s!=5)continue;elsecount+;printf("%dn",count);6.#include <stdio.h>main()int x,i;printf("請(qǐng)輸入10個(gè)整數(shù):"); for(

50、i=1;i<=10;i+)scanf("%d",&x); if(x%7=0) printf("first number is %d",x);break; if(i>10) printf("not exist!");7.#include <stdio.h>main ( )int n,k=1,s=0,m ; for (n=1;n<=100;n+) k=1;s=0;m=n; while (m>=1) k*=m%10; s+=m%10; m=m/10 ; if(k>s) printf(&quo

51、t;%dn",n); 8.#include<stdio.h>main()int i=0,j,k;doi+;k=316-13*i;while(k%11);j=k/11;printf("316=13*%d+11*%dn",i,j);9.#include<stdio.h>main()int i,j,k,n; for(n=100;n<1000;n+) i=n/100; j=(n-i*100)/10; k=n%10; if(i*i*i+j*j*j+k*k*k=n) printf("%dn",n); 實(shí)驗(yàn)八 C程序控

52、制結(jié)構(gòu)綜合應(yīng)用1. 編程計(jì)算:        s=1+12+123+1234+12345+123456+1234567。     2. 編程: 找出1至99之間的全部同構(gòu)數(shù)。所謂同構(gòu)數(shù)是這樣一組數(shù):它出現(xiàn)在其平方數(shù)的右邊。例如:5是25右邊的數(shù),25是625右邊的數(shù),5和25都是同構(gòu)數(shù)。     3. 若用0至9之間不同的三個(gè)數(shù)構(gòu)成一個(gè)三位數(shù),編程統(tǒng)計(jì)共有多少種方法。     4. 編程:鍵盤輸入

53、一個(gè)不多于5位的正整數(shù),要求:(此題為選做)         (1) 求它是幾位數(shù)         (2) 逆序打印出各位數(shù)字。如原數(shù)為123,輸出則為321。     5. 編程:找出以下疑案的作案人(此題為選做)        已知該案涉及6個(gè)嫌疑人A、B、C、D、E、F,并且: &#

54、160;       (1) A、B至少有一人作案。         (2) A、E、F這3人中至少有2人參與作案。         (3) A、D不可能是同案犯。         (4) B、C或同時(shí)作案,或與本案無關(guān)。   &

55、#160;     (5) C、D中有且僅有一人作案。         (6) 如果D沒有作案,則E也不可能參與作案。     6. 編程:輸出下列形式的楊輝三角形的前10行(此題為選做)         1         1 1  &#

56、160;      1 2 1         1 3 3 1         1 4 6 4 1         1.#include<stdio.h>main()int s=0,i=1,t=0;while(i<10)t=t*10+i;s+=t;i+;printf("s=%dn&

57、quot;,s);2.#include<stdio.h>main()int i;for(i=1;i<=99;i+) if(i*i%10=i|i*i%100=i) printf("%dn",i);3.#include <stdio.h> main()int i,j,k,count=0;for(i=1;i<=9;i+) for(j=0;j<=9;j+)if(i=j) continue;else for(k=0;k<=9;k+)if(k!=i&&k!=j) count+;printf("%dn",

58、count);實(shí)驗(yàn)九 C的數(shù)組1. 編程實(shí)現(xiàn):輸入一個(gè)正整數(shù)n(1<n10),再輸入n個(gè)整數(shù),把這些數(shù)逆序存放到數(shù)組中再按順序輸出。          例如:輸入5,再輸入三個(gè)數(shù)8、23、1、7、19,則輸出為:19、7、1、23、8。       2. 編程實(shí)現(xiàn):輸入10個(gè)正整數(shù),將它們中的最小值與第一個(gè)數(shù)交換,最大值與最后一個(gè)數(shù)交換,然后輸出交換后的10個(gè)數(shù)。     

59、0; 3. 編程實(shí)現(xiàn):已知二次等差數(shù)列的前4項(xiàng)為2,5,10,17,請(qǐng)定義一維整型數(shù)組存儲(chǔ)該數(shù)列的前20項(xiàng),并每5個(gè)數(shù)為一行輸出該數(shù)列的前20項(xiàng)。       4. 已知一組整型數(shù)據(jù)已按從小到大排列好,現(xiàn)任意輸入一個(gè)整數(shù),請(qǐng)按原來排序的規(guī)律將它插入到數(shù)組中(例如:原來的一組整數(shù)為1,3,5,8,9,若輸入的整數(shù)是7,則最終的結(jié)果為: 1,3,5,7,8,9),請(qǐng)編程實(shí)現(xiàn)。       5. 編程:將一個(gè)4×4的整型矩陣元素按副對(duì)角線(右上到左下)互換。 &

60、#160;        要求:                (1)鍵盤輸入矩陣各元素的值。              (2)互換前,按矩陣形式輸出矩陣。        

61、;      (3)互換后,按矩陣形式輸出矩陣。       6. 求一個(gè)4×4的整數(shù)矩陣的副對(duì)角線(右上到左下)上所有奇數(shù)的和sum及偶數(shù)的平均值ave。          要求:結(jié)果保留2位小數(shù)         7. 通過循環(huán)按行順序?yàn)橐粋€(gè)5×5的二維數(shù)組a賦1到25的自然數(shù),然后輸出該數(shù)組的左

62、下半角元素的值和它們之和。       8. 定義一個(gè)實(shí)數(shù)型數(shù)組,將10個(gè)實(shí)數(shù)輸入到數(shù)組中,編程實(shí)現(xiàn)任一塊區(qū)間所有元素的平均值,即輸入兩整數(shù)m,n,計(jì)算出數(shù)組中第m個(gè)元素開始的后n個(gè)元素的平均值,包括第m個(gè)元素(若n值過大,即個(gè)數(shù)太多,超過數(shù)組的最后一個(gè)元素,則統(tǒng)計(jì)到最后一個(gè)元素)。          例如:數(shù)組元素為1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0,輸入3,5,則輸出5.0。  

63、;     9. 一個(gè)整型數(shù)組有10個(gè)元素,編寫程序刪除所有值為n的元素。如:數(shù)組中為1,3,2,4,2,7,9,0,2,5,n的值為2,刪除后輸出數(shù)組元素應(yīng)該為1,3,4,7,9,0,5。(此題為選做)      10. 定義兩個(gè)N行N列的二維數(shù)組a、b,編寫程序,將a數(shù)組最后一行放到b數(shù)組的第0列中,把a(bǔ)數(shù)組中的第0行放到b數(shù)組的最后一列中,b所指二維數(shù)組中其他元素的數(shù)據(jù)不變。(此題為選做)      11. 試編程實(shí)現(xiàn)如下功能:先

64、定義一個(gè)4行5列的數(shù)組(矩陣),調(diào)用庫函數(shù)rand()隨機(jī)產(chǎn)生20-50之間的整數(shù)給數(shù)組元素賦值,再將矩陣中第二列與第四列的元素互換。要求先輸出原數(shù)組,再輸出交換后的數(shù)組(rand函數(shù)的使用請(qǐng)參閱教材259頁)。(此題為選做)1.#include<stdio.h> main()int a10,n,i;scanf("%d",&n);for(i=n-1;i>=0;i-)scanf("%d",&ai);for(i=0;i<n;i+)printf("%d ",ai);printf("n&quo

65、t;);2.#include <stdio.h>main()int n,i,a10,max,min,t,r,p;scanf("%d",&n);for (i=1;i<=n;i+)scanf("%d",&ai);min=a1;for (i=1;i<=n;i+)if (ai<a1)min=ai;r=i;t=a1,a1=min,ar=t;max=an;for (i=1;i<=n;i+)if (ai>an)max=ai;p=i;t=an,an=max,ap=t;for (i=1;i<=n;i+)pri

66、ntf("%d",&ai);3.#include <stdio.h>void main()int a21,i; for(i=1;i<=20;i+) ai=i*i+1; printf("%d ",ai); if(i%5=0) printf("n"); 4.#include <stdio.h>main()int a10=1,3,5,7,9,11,13,15,17,i,j,n;printf("請(qǐng)輸入1個(gè)整數(shù)");scanf("%d",&n);for(i=0

67、;i<9;i+) if(ai>n) for(j=9;j>i;j-)aj=aj-1; ai=n; break; if(n>=a8)a9=n;for(i=0;i<10;i+)printf("%d ",ai);printf("n ");6.#include<stdio.h>main()int a44,i,j,t=0; float s1=0 ,s2=0,ave; for(i=0;i<=3;i+) for(j=0;j<=3;j+) printf("input 16 ints:");scanf

68、("%d",&aij);for(i=0;i<=3;i+) for(j=3;j>=0;j-) if(i+j=3) if(aij%2!=0)s1=s1+aij; else t+; s2=s2+aij; ave=s2/t; printf("s=%0.2fnave=%0.2fn",s1,ave);7.#include <stdio.h>main() int i,j,k=1,s=0; int a55; for(i=0;i<5;i+) for(j=0;j<5;j+) aij=k; k+; putchar(10); for(

69、i=0;i<5;i+) for(j=0;j<5;j+) printf("%dt",aij); printf("n"); putchar(10); for(i=0;i<5;i+) for(j=0;j<=i;j+) printf("%dt",aij); printf("n"); s=s+aij; printf("s=%d",s);實(shí)驗(yàn)十 C字符數(shù)組和字符串函數(shù)*1. 編寫字符串拷貝程序,并要求拷貝過程中將字符串中的小寫字母轉(zhuǎn)換成大寫字母。  &#

70、160;    2. 從鍵盤輸入兩個(gè)字符串a(chǎn)和b,要求不使用庫函數(shù)strcat,把串b的前5個(gè)字符連接到串a(chǎn)中;如果b中的長度小于5,則把b的所有元素都連接到a中。       3. 輸入一個(gè)以回車結(jié)束的字符串(少于80個(gè)字符),再輸入一個(gè)字符,統(tǒng)計(jì)并輸出該字符在字符串中出現(xiàn)的次數(shù),然后輸出該字符串。       4. 編程: 輸入一個(gè)字符串,輸出該字符串中出現(xiàn)次數(shù)最多的字符以及出現(xiàn)的次數(shù)。    

71、0;  5. 編程: 鍵盤接收一個(gè)字符串(只含大、小寫英文字母),將該字符串加密后輸出。          加密規(guī)則為:若為小寫字母則不變,若為大寫字母則將其轉(zhuǎn)換為小寫后再后移一個(gè)字母,例如“A”應(yīng)轉(zhuǎn)換為“b”,“B”應(yīng)轉(zhuǎn)換為“c”,“Y”應(yīng)轉(zhuǎn)換為“z”,而“Z”應(yīng)轉(zhuǎn)換為“a”。       6. 編程:輸入一個(gè)以回車結(jié)束的字符串a(chǎn)(少于80個(gè)字符),再輸入一個(gè)字符串b,統(tǒng)計(jì)并輸出b在a中出現(xiàn)的次數(shù),然后再輸出這兩個(gè)字符串。 

72、        7. 編程:輸入一個(gè)以回車結(jié)束的字符串(少于80個(gè)字符),將該字符串倒序存放后按順序輸出。          例如:如數(shù)組中開始時(shí)元素為“abcd”,程序執(zhí)行后數(shù)組中為“dcba”,并輸出“dcba”       8. 編程: 實(shí)現(xiàn)對(duì)字符串的加密,要求從鍵盤輸入一個(gè)字符串,輸出加密之后的字符串。(此題為選做)    

73、60;     加密規(guī)則為:              對(duì)于串中第奇數(shù)個(gè)字符,若是字母,則把該字母變?yōu)樗竺娴淖帜福ㄈ魹閆則變?yōu)锳),不是字母則不變;              對(duì)于串中第偶數(shù)個(gè)字符,若是字母,則把該字母變?yōu)樗懊娴淖帜福ㄈ魹锳則變?yōu)閆),不是字母則不變;  &#

74、160;           大小寫字母都遵循此規(guī)則。          例如:          若原字符串是:AbbaZG Ha-MnnK Yzx          加密字符串為:BaczAF Gb-Nmoj Xaw 

75、;         9. 編程:輸入一行英文字符串,統(tǒng)計(jì)單詞的個(gè)數(shù)(單詞和單詞以空格分隔)。(此題為選做)1.#include<stdio.h>#include<string.h>main()char str140,str220;int i,k;printf("請(qǐng)輸入第一個(gè)字符串n");scanf("%s",str1);printf("請(qǐng)輸入第二個(gè)字符串n");scanf("%s",str2);for(i=0;s

76、tr1i!='0'i+);for(k=0;str2k!='0'k+)str1i=str2k;i+;str1i='0'for(i=0;str1i!='0'i+)if(str1i>='a' && str1i<='z')str1i=str1i-32;printf("%sn",str1);2.#include "stdio.h"main()char a80,b40,*q=a,*p=b;int i=0;printf("字符串a(chǎn):&q

77、uot;);gets(a);printf("字符串b:");gets(b);while(*q+); q-;while(*p+) i+;p=b;if(i<5)while(i-) *q+=*p+;elsefor(i=0;i<5;i+) *q+=bi;*q='0'puts(a);3.#include <stdio.h>main()char c80,ch;int i,num=0;printf("請(qǐng)輸入字符串及字符:");gets(c);ch=getchar();for(i=0;ci!='0'i+)if(ci=ch) num+;printf("num(%c)=%dn",ch,num);puts(c);4.#include<stdio.h>#include<conio.h>#include<string.h> main() char str100,str_sort100,c; int i,j,len,m; printf("請(qǐng)輸入字符串:"); gets(str); strcpy(str_sort,str); len=strlen(str_sort

溫馨提示

  • 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. 人人文庫網(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)論