安徽大學(xué)C語言實(shí)驗(yàn)平臺作業(yè)答案.doc

上傳人:小** 文檔編號:13267377 上傳時間:2020-06-11 格式:DOC 頁數(shù):34 大?。?24KB
收藏 版權(quán)申訴 舉報(bào) 下載
安徽大學(xué)C語言實(shí)驗(yàn)平臺作業(yè)答案.doc_第1頁
第1頁 / 共34頁
安徽大學(xué)C語言實(shí)驗(yàn)平臺作業(yè)答案.doc_第2頁
第2頁 / 共34頁
安徽大學(xué)C語言實(shí)驗(yàn)平臺作業(yè)答案.doc_第3頁
第3頁 / 共34頁

下載文檔到電腦,查找使用更方便

5 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《安徽大學(xué)C語言實(shí)驗(yàn)平臺作業(yè)答案.doc》由會員分享,可在線閱讀,更多相關(guān)《安徽大學(xué)C語言實(shí)驗(yàn)平臺作業(yè)答案.doc(34頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、 實(shí)驗(yàn)三C基本數(shù)據(jù)類型及運(yùn)算 1. 編程:根據(jù)需要定義相關(guān)變量,鍵盤輸入10.0、20.6、5.0三個實(shí)數(shù)分別賦給相關(guān)三個變量,輸出該3個變量的和s、乘積p和平均值a。 2. 編程:輸入球的半徑,計(jì)算球體表面積和球體積。 3. 編程:定義6個變量,通過鍵盤將“10, -10, 40000, a, 3.14, hello”這六個值分別賦給相應(yīng)變量,然后在屏幕上輸出變量的值(每行輸出一個變量)。 4. 編程:從鍵盤接收1個字符給變量s1,1個字符串(允許帶有空格)給字符數(shù)組s2,輸出字符變量s1的ASCII碼值及字符數(shù)組s2中的字符串。 5. 編程:從鍵盤輸入二個整數(shù)分別賦給整

2、型變量a、b,將它們按由小到大的順序輸出。 6. 編程:調(diào)用標(biāo)準(zhǔn)庫函數(shù)sin(x)計(jì)算6800的正弦值(此題為選做)。 7. 編程:鍵盤輸入一個實(shí)數(shù)賦給變量x,計(jì)算 y=x*x*x+x*x+x 的值,分別輸出y值、y值的整數(shù)部分和小數(shù)部分(此題為選做)。 8. 編程:鍵盤輸入四個整數(shù)分別賦給整型變量a、b、c、d,用三目運(yùn)算方法將它們按由大到小的順序輸出(此題為選做)。 1. #include 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=

3、s/3; printf("s=%f,p=%f,a=%f",s,p,a); } 2. #include main() {float r,s,v; printf("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 main() {int a,b;long c;char d,st[6];float e; scanf("%d%d%ld%c%f%s",&a,&b,&c,&d,&e,st)

4、; printf("a=%d\n,b=%d\n,c=%d\n,d=%c\n,e=%f\n,ch=%s",a,b,c,d,e,st); } 4. #include main() { char s1,s2[6]; scanf("%c%s",&s1,s2); printf("s1=%d,s2=%s",s1,s2); } 5. #include main() { int a,b; scanf("a=%db=%d",&a,&b); if (a

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

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

7、程:從鍵盤輸入三個整數(shù),分別賦給變量a,b,c,請按從小到大的順序依次輸出a、b、c(要求不改變a、b、c的值)。 7. 編程:從鍵盤輸入三個整數(shù),分別賦給變量a,b,c,請按從小到大的順序依次將這三個數(shù)存放于a、b、c中,最后輸出a、b、c。 8. 編程:由系統(tǒng)生成一個10以內(nèi)的隨機(jī)整數(shù),用戶從鍵盤上輸入一個10以內(nèi)的整數(shù),如果兩者相等輸出“OK”,否則輸出“ERROR”。 注:隨機(jī)數(shù)的生成必須包含頭文件#include 、#include ,必須用初始化語句srand((unsigned)time(NULL));,表達(dá)式rand()%a+1的

8、值為1~a內(nèi)的隨機(jī)整數(shù) 1. #include main() {char x; scanf("%c",&x); if(x>=a&&x<=z) printf("%c",x); else if (x>=A&&x<=Z) printf("%c",x+32); else printf("Not letter!"); } 2. #include main() {int x; scanf("%d",&x); if (x>0) { if(x%3==0&&x%5==0) printf("Yes\n");

9、 else printf("No\n");} else printf("Error!"); } 3. #include 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 main() {float a,b; scanf("%f%f",&a,&b); if(a

10、b; a=a-b;}; printf("a=%f,b=%f\n",a,b); } 5. #include 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 int main() {int a,b,c,d,max,min; scanf("%d%d%d",&a,&b,&c); if(a>=b) {max=

11、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 %d\n",min,d,max); } 7. #include main() { int a, b, c, d; scanf("%d%d%d",&a,&b,&c); if(a>=b) {d = a; a = b; b = d;} else if(b>=c) { d = b; b

12、 = c; c = d; } printf("a=%d b=%d c=%d",a,b,c); } 8. #include #include #include main() {int a,b; srand((unsigned)time(NULL)); b=rand()%10+1; scanf("%d",&a); printf("a=%d,隨機(jī)數(shù)b=%d\n",a,b); if(a==b) printf("OK!\n"); else printf("ERROR!\n"); } 實(shí)驗(yàn)五C多分支結(jié)構(gòu)

13、程序設(shè)計(jì)* 1. 編程:計(jì)算獎學(xué)金ss的值,已知獎學(xué)金ss與成績s的關(guān)系為: 具體要求: (1)用 if 語句實(shí)現(xiàn)分支結(jié)構(gòu)的編程。 (2)s為整型,ss要求精確到小數(shù)點(diǎn)后二位。 (3)用scanf函數(shù)給s賦值,且輸入前有相應(yīng)提示。 (4)結(jié)果輸出時采用以下形式: 成績s=具體值,獎學(xué)金ss=具體值 2. 設(shè)函數(shù)f(x)如下,求函數(shù)函數(shù)法f(x)的值。 具體要求: (1)用條件表達(dá)式編程。 (2)用if語句編程。 (3)用scanf函數(shù)給自變量賦值,且輸入前有相應(yīng)提示。 (4)結(jié)果輸出時采用以下形式: x=具體值,f(x)=具體值

14、 (5)給出你所使用的測試用例。 提示: 按C的語法規(guī)則,標(biāo)識符由字母、數(shù)字、下劃線組成,不能將f(x)作為變量名,本題中,函數(shù)名可起為 f 或 y 等。但作為非格式控制字符,f(x)完全可以出現(xiàn)在printf函數(shù)的雙引號內(nèi)。 3. 編程:輸入一個整數(shù),判斷它能否被3,5,7整除,并輸出以下信息之一: (1)能同時被3,5,7整除。 (2)能被其中兩數(shù)整除(指出是哪兩個數(shù))。 (3)能被其中一個數(shù)(指出是哪一個數(shù))整除。 (4)不能被3,5,7任一個數(shù)整除。 4. 編程:用switch 語句編寫一個簡單的計(jì)算器程序,輸入格式為:data1 op data2。其中d

15、ata1和data2為參加運(yùn)算的兩個數(shù);op為運(yùn)算符,取值只能是+、-、*、/。 5. 編程:計(jì)算你的出生日期是星期幾。 (1)通過鍵盤輸入你出生那一年的元旦是星期幾 (2)通過鍵盤輸入你的出生日期 (3)輸出結(jié)果 1. #include main() {int s; float ss; printf("Please input s\n"); scanf("%d",&s); if(s<0||s>100) printf("ERROR!\n"); else {if(s>=0&&s<80) ss=0; else if

16、(s>=80&&s<90) ss=100+s; else if(s>=90&&s<=100) ss=200+s*3/2; printf("成績s=%d,獎學(xué)金ss=%0.2f\n",s,ss); } } 2. #include main() {float x;int f; printf("Please input x\n"); scanf("%f",&x); if(x==0) f=0; else f=(x>0)?1:-1; printf("x=%f,f(x)=%d\n",x,f);

17、} 3. #include main() {int x,a,b,c; printf("請輸入一個整數(shù)x"); scanf("%d",&x); a=x%3; b=x%5; c=x%7; if(a==0&&b==0&&c==0) printf("%d能同時被3,5,7整除\n",x); 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) p

18、rintf("%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("%d能被7整除\n",x); else printf("%d不能被3,5,7任意一個數(shù)整除\n",x); } 4. #include main() {char op; float d1,d2; printf("請輸入算式");

19、scanf("%f%c%f",&d1,&op,&d2); switch(op) {case +: printf("%g+%g=%g\n",d1,d2,d1+d2);break; case -: printf("%g-%g=%g\n",d1,d2,d1-d2);break; case *: printf("%g*%g=%g\n",d1,d2,d1*d2);break; case /: printf("%g/%g=%g\n",d1,d2,d1/d2);break; } } 5. #include main() { int

20、x,m,d; printf("請輸入你出生那年元旦的星期(1至7):\n"); printf("請輸入你的出生日期 (mm/dd) : \n"); scanf("%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(

21、"你出生那天為星期%d",x+4);break; 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整除的最大的那個數(shù)。 3. 編程:找出若干個非零數(shù)中的最小值m以及它們的平均值a。 要求:若干個數(shù)由鍵盤輸入,每次輸入一個賦給變量x,x為零時,結(jié)束輸入。 4. 編程:求兩個正整數(shù)m、n之間所有奇數(shù)之和x與偶數(shù)之和y。 要求: (1

22、)m、n的值由鍵盤輸入。 (2)輸入時,允許用戶隨意先輸入大的或小的整數(shù)。 5. 編程:計(jì)算函數(shù)y的值。要求鍵盤接收自變量x的值,若x的值不為零,計(jì)算函數(shù)y的值并輸出,再從鍵盤接收下一個x的值,……,直到x的值為零,顯示“Thank You,Bye!”,爾后結(jié)束程序,已知函數(shù)y與自變量x的關(guān)系為: 6. 編程:計(jì)算π的近似值,π的計(jì)算公式為: 要求: (1)n值由鍵盤輸入。 (2)分別輸出當(dāng)n 為10、100、1000時的計(jì)算結(jié)果。 (3)輸出時要求每行顯示一組n、π的值,每行形式如下: n=具體值,π = 具體值 7. 我國現(xiàn)有人口13億

23、,設(shè)年增長率為1%,編寫程序,計(jì)算多少年后增加到20億。 8. 求解愛因斯坦數(shù)學(xué)題。有一條長階梯,若每步跨2階,則最后剩余1階;若每步跨3階,則最后剩2階;若每步跨5階,則最后剩4階;若每步跨6階,則最后剩5階;若每步跨7階,最后才正好一階不剩。請問,這條階梯最少共有多少階? 9. 每個蘋果0.8 元,第一天買2 個蘋果,第二天開始,每天買前一天的2 倍,直至購買的蘋果個數(shù)達(dá)到不超過100 的最大值。編程:求每天平均花多少錢?(此題為選做) 1. #include main() {int i; for(i=1;i<=200;i++) {if(i%7!=0)

24、 continue; printf("%d ",i); } } 2. #include main() {int i,max=0; for(i=0;i<=1000;i++) {if(i%13!=0) continue; if (max main() {int i;float x,m,s,a; scanf("%f",&x); if(x!=0) {m=x;s=x;} for(i=1;;i++) {scanf("%

25、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 void main() {int i,m,n,t,x=0,y=0; scanf("%d%d",&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=%d\n",x); printf("y=%d\n",y); }

26、5. #include main() { float x,y; printf("input x:"); scanf("%f",&x); for (;x>=0;) { if(x>0&&x<100) { y=3*x+1; printf("%f",y); } else if(x>=100) { y=x*x-1; printf("%f",y); } else {printf("thank you bey !");break;} scanf("%f",&x); } } 6. #include main() {

27、int n,i; double t,sum; printf("請輸入n的值\n"); scanf("%d",&n); sum=2; i=1; t=2; while(i main() { double t=13,s=0; while(t<=20) { t=t*(1+0.01); s++; } printf("需要經(jīng)過%lf 年",

28、s); } 8. #include main() { int x=7; while( !(x%2==1&&x%3==2&&x%5==4&&x%6==5)) { x=x+7; } printf("%d\n",x); } 9. #include 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; p

29、rintf("每天平均花%g元錢!\n",s); } 實(shí)驗(yàn)七C多重循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 1. 編程:輸出100以內(nèi)個位數(shù)為6且能被3整除的所有數(shù)。 2. 編程:鍵盤輸入6 位學(xué)生的5門課成績,分別統(tǒng)計(jì)出每個學(xué)生的平均成績。 3. 編程:輸入一個正整數(shù),統(tǒng)計(jì)該數(shù)的各位數(shù)字中零的個數(shù),并求各位數(shù)字中的最大者。 4. 編程:分別用do while、while、for三種循環(huán)結(jié)構(gòu)求: 1!+2!+3!+...+n! ,要求n的值由鍵盤輸入。 5. 編程:計(jì)算100至1000之間有多少個數(shù)其各位數(shù)字之和是5。 6. 編程:從鍵盤輸入的10個整數(shù)中,找出第一個能被7整除的數(shù)。若找到,

30、輸出此數(shù)后退出;若未找到,輸出“not exist”。 7. 編程:輸出1至100之間滿足如下條件的數(shù):各位數(shù)的乘積大于各位數(shù)的和。 8. 編程:將整數(shù)316表示為兩個加數(shù)的和,使這兩個加數(shù)分別能被13和11整除。 9. 編程:打印出所有的"水仙花數(shù)"。所謂的"水仙花數(shù)"是指一個3位數(shù),其各位數(shù)字的立方和等于該數(shù)本身。例如,153是一個"水仙花數(shù)",因?yàn)橛?53=1*1*1+5*5*5+3*3*3。 10. 編程:一條有10個車站的鐵路線,共需要準(zhǔn)備多少種車票? 1. #include main() {int i; for(i=1;i<=100;i++

31、) {if(i%10==6&&i%3==0) printf("%d ",i); } } 2. #include main() {int i,j,a[6][5];float s; for(i=0;i<6;i++) {s=0; for(j=0;j<5;j++) {printf("請輸入第%d個學(xué)生的第%d門成績",i+1,j+1); scanf("%d",&a[i][j]); s=s+a[i][j]; } s=s/5; printf("第%d個學(xué)生平均成績?yōu)?f\n",i+1,s); } } 3. #include m

32、ain() {int x,i,max,t; i=0; max=0; scanf("%d",&x); do {t=x%10; if(t==0) ++i; else if(max main() {int n,i,a,s=0; printf("請輸入n:"); scanf("%d",&n); a=1; for(i=1;i<=n;i++) {a=a*i; s=s+a; } printf("s

33、=%d\n",s); } #include main() {int n,i=1,a=1,s=0; printf("請輸入n:"); scanf("%d",&n); while(i<=n) {a=a*i; s=s+a; i++; } print("s=%d",s); } #include main() {int n,i=1,a=1,s=0; printf("請輸入n:"); scanf("%d",&n); do {a=a*i; s=s+a; i++; } while(i<=n); printf("s=%d"

34、,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; else count++; } printf("%d\n",count); } 6. #include main() {int x,i; printf("請輸入10個整數(shù):"); for(i=1;i<=10;i++) {scanf("%d",&x); if(x%7

35、==0) {printf("first number is %d",x);break; } } if(i>10) printf("not exist!"); } 7. #include 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("%d\n",n); } } 8. #include

36、.h> main() {int i=0,j,k; do {i++; k=316-13*i;} while(k%11); j=k/11; printf("316=13*%d+11*%d\n",i,j); } 9. #include 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("%d\n",n); } } 實(shí)驗(yàn)八C程序

37、控制結(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之間不同的三個數(shù)構(gòu)成一個三位數(shù),編程統(tǒng)計(jì)共有多少種方法。 4. 編程:鍵盤輸入一個不多于5位的正整數(shù),要求:(此題為選做) (1)求它是幾位數(shù) (2)逆序打印出各位數(shù)字。如原數(shù)為123,輸出則為321。 5. 編程:找出以下疑案的作案人(此題為選做) 已知該案涉及6個嫌疑人A、B、

38、C、D、E、F,并且: (1)A、B至少有一人作案。 (2)A、E、F這3人中至少有2人參與作案。 (3)A、D不可能是同案犯。 (4)B、C或同時作案,或與本案無關(guān)。 (5)C、D中有且僅有一人作案。 (6)如果D沒有作案,則E也不可能參與作案。 6. 編程:輸出下列形式的楊輝三角形的前10行(此題為選做) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 …… 1. #include main() {int s=0,i=1,t=0; while(i<10) {t=t*10+i;s+=t;i++;

39、} printf("s=%d\n",s); } 2. #include main() {int i; for(i=1;i<=99;i++) if(i*i%10==i||i*i%100==i) printf("%d\n",i); } 3. #include 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!

40、=j) count++; printf("%d\n",count); } 實(shí)驗(yàn)九C的數(shù)組 1. 編程實(shí)現(xiàn):輸入一個正整數(shù)n(1

41、小到大排列好,現(xiàn)任意輸入一個整數(shù),請按原來排序的規(guī)律將它插入到數(shù)組中(例如:原來的一組整數(shù)為1,3,5,8,9,若輸入的整數(shù)是7,則最終的結(jié)果為: 1,3,5,7,8,9),請編程實(shí)現(xiàn)。 5. 編程:將一個44的整型矩陣元素按副對角線(右上到左下)互換。 要求: (1)鍵盤輸入矩陣各元素的值。 (2)互換前,按矩陣形式輸出矩陣。 (3)互換后,按矩陣形式輸出矩陣。 6. 求一個44的整數(shù)矩陣的副對角線(右上到左下)上所有奇數(shù)的和sum及偶數(shù)的平均值ave。 要求:結(jié)果保留2位小數(shù) 7. 通過循環(huán)按行順序?yàn)橐粋€55的二維數(shù)組a賦1到25的自然數(shù),然后輸出該數(shù)組的左

42、下半角元素的值和它們之和。 8. 定義一個實(shí)數(shù)型數(shù)組,將10個實(shí)數(shù)輸入到數(shù)組中,編程實(shí)現(xiàn)任一塊區(qū)間所有元素的平均值,即輸入兩整數(shù)m,n,計(jì)算出數(shù)組中第m個元素開始的后n個元素的平均值,包括第m個元素(若n值過大,即個數(shù)太多,超過數(shù)組的最后一個元素,則統(tǒng)計(jì)到最后一個元素)。 例如:數(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。 9. 一個整型數(shù)組有10個元素,編寫程序刪除所有值為n的元素。如:數(shù)組中為1,3,2,4,2,7,9,0,2,5,n的值為2,刪除后輸出數(shù)組元素應(yīng)該為1,3,4,7,9,0,5。(此題為選

43、做) 10. 定義兩個N行N列的二維數(shù)組a、b,編寫程序,將a數(shù)組最后一行放到b數(shù)組的第0列中,把a(bǔ)數(shù)組中的第0行放到b數(shù)組的最后一列中,b所指二維數(shù)組中其他元素的數(shù)據(jù)不變。(此題為選做) 11. 試編程實(shí)現(xiàn)如下功能:先定義一個4行5列的數(shù)組(矩陣),調(diào)用庫函數(shù)rand()隨機(jī)產(chǎn)生20-50之間的整數(shù)給數(shù)組元素賦值,再將矩陣中第二列與第四列的元素互換。要求先輸出原數(shù)組,再輸出交換后的數(shù)組(rand函數(shù)的使用請參閱教材259頁)。(此題為選做) 1. #include main() { int a[10],n,i; scanf("%d",&n); for(i

44、=n-1;i>=0;i--)scanf("%d",&a[i]); for(i=0;i main() { int n,i,a[10],max,min,t,r,p; scanf("%d",&n); for (i=1;i<=n;i++) scanf("%d",&a[i]); min=a[1]; for (i=1;i<=n;i++) { if (a[i]

45、in,a[r]=t; max=a[n]; for (i=1;i<=n;i++) { if (a[i]>a[n]) { max=a[i]; p=i; } } t=a[n],a[n]=max,a[p]=t; for (i=1;i<=n;i++) printf("%d",&a[i]); } 3. #include void main() {int a[21],i; for(i=1;i<=20;i++) {a[i]=i*i+1; printf("%d ",a[i]); if(i%5==0) printf("\n"

46、); } } 4. #include main() {int a[10]={1,3,5,7,9,11,13,15,17},i,j,n; printf("請輸入1個整數(shù)"); scanf("%d",&n); for(i=0;i<9;i++) if(a[i]>n) {for(j=9;j>i;j--)a[j]=a[j-1]; a[i]=n; break; } if(n>=a[8])a[9]=n; for(i=0;i<10;i++) printf("%d ",a[i]); printf("\n "); } 6

47、. #include main() {int a[4][4],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("%d",&a[i][j]); } } for(i=0;i<=3;i++) { for(j=3;j>=0;j--) { if(i+j==3) {if(a[i][j]%2!=0) {s1=s1+a[i][j]; } else { t++; s

48、2=s2+a[i][j]; ave=s2/t; } } } } printf("s=%0.2f\nave=%0.2f\n",s1,ave); } 7. #include main() { int i,j,k=1,s=0; int a[5][5]; for(i=0;i<5;i++) { for(j=0;j<5;j++) { a[i][j]=k; k++; } } putchar(10); for(i=0;i<5;i++) { for(j=0;j<5;j++) print

49、f("%d\t",a[i][j]); printf("\n"); } putchar(10); for(i=0;i<5;i++) { for(j=0;j<=i;j++) printf("%d\t",a[i][j]); printf("\n"); s=s+a[i][j]; } printf("s=%d",s); } 實(shí)驗(yàn)十C字符數(shù)組和字符串函數(shù)* 1. 編寫字符串拷貝程序,并要求拷貝過程中將字符串中的小寫字母轉(zhuǎn)換成大寫字母。 2. 從鍵盤輸入兩個字符串a(chǎn)和b,要求不使用庫函數(shù)strcat,把串b的前5個字符連接到串a(chǎn)中;如果b中的

50、長度小于5,則把b的所有元素都連接到a中。 3. 輸入一個以回車結(jié)束的字符串(少于80個字符),再輸入一個字符,統(tǒng)計(jì)并輸出該字符在字符串中出現(xiàn)的次數(shù),然后輸出該字符串。 4. 編程: 輸入一個字符串,輸出該字符串中出現(xiàn)次數(shù)最多的字符以及出現(xiàn)的次數(shù)。 5. 編程: 鍵盤接收一個字符串(只含大、小寫英文字母),將該字符串加密后輸出。 加密規(guī)則為:若為小寫字母則不變,若為大寫字母則將其轉(zhuǎn)換為小寫后再后移一個字母,例如“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. 編程:輸入一個以回車結(jié)束的字符串a(chǎn)(少于80個字符),再輸入一個字符

51、串b,統(tǒng)計(jì)并輸出b在a中出現(xiàn)的次數(shù),然后再輸出這兩個字符串。 7. 編程:輸入一個以回車結(jié)束的字符串(少于80個字符),將該字符串倒序存放后按順序輸出。 例如:如數(shù)組中開始時元素為“abcd”,程序執(zhí)行后數(shù)組中為“dcba”,并輸出“dcba” 8. 編程: 實(shí)現(xiàn)對字符串的加密,要求從鍵盤輸入一個字符串,輸出加密之后的字符串。(此題為選做) 加密規(guī)則為: 對于串中第奇數(shù)個字符,若是字母,則把該字母變?yōu)樗竺娴淖帜福ㄈ魹閆則變?yōu)锳),不是字母則不變; 對于串中第偶數(shù)個字符,若是字母,則把該字母變?yōu)樗懊娴淖帜福ㄈ魹锳則變?yōu)閆),不是字母則不變; 大小寫字母都遵循此規(guī)則

52、。 例如: 若原字符串是:AbbaZG Ha-MnnK Yzx 加密字符串為:BaczAF Gb-Nmoj Xaw 9. 編程:輸入一行英文字符串,統(tǒng)計(jì)單詞的個數(shù)(單詞和單詞以空格分隔)。(此題為選做) 1. #include #include main() { char str1[40],str2[20]; int i,k; printf("請輸入第一個字符串\n"); scanf("%s",str1); printf("請輸入第二個字符串\n"); scanf("%s",str2); for(i=0;str1[i

53、]!=\0;i++); for(k=0;str2[k]!=\0;k++) { str1[i]=str2[k]; i++; } str1[i]=\0; for(i=0;str1[i]!=\0;i++) { if(str1[i]>=a && str1[i]<=z) { str1[i]=str1[i]-32; } } printf("%s\n",str1); } 2. #include "stdio.h" main() {char a[80],b[40],*q=a,*p=b;int i=0; printf("字符串a(chǎn):"); gets(a); printf

54、("字符串b:"); gets(b); while(*q++); q--; while(*p++) i++; p=b; if(i<5) while(i--) *q++=*p++; else for(i=0;i<5;i++) *q++=b[i]; *q=\0; puts(a); } 3. #include main() {char c[80],ch; int i,num=0; printf("請輸入字符串及字符:"); gets(c); ch=getchar(); for(i=0;c[i]!=\0;i++) if(c[i]==ch)

55、num++; printf("num(%c)=%d\n",ch,num); puts(c); } 4. #include#include #include main() { char str[100],str_sort[100],c; int i,j,len,m; printf("請輸入字符串:"); gets(str); strcpy(str_sort,str); len=strlen(str_sort); for(i=0;i

56、 for(j=0;jstr_sort[j+1]) {c=str_sort[j]; str_sort[j]=str_sort[j+1]; str_sort[j+1]=c; } for(i=1,j=1,m=0;im) { m=j; c=str_s

57、ort[i-1]; } j=1; } else j++; printf("出現(xiàn)最多的是:%c %d\n",c,m); getch(); } 5. #include main() { char i; int c=0; int a=0,sum; scanf("%c",&i); while(i!=\n) { { if(a<=i&&i<=z)printf("%c ",i); if(A<=i

58、&&i<=Y)i=i+33,printf("%c ",i); } if(i==Z)i=i+32-25,printf("%c ",i); scanf("%c",&i); } printf("\n"); } 7. #include #include main() {char c[80],ch; int i,l; gets(c); l=strlen(c); for(i=0;i

59、 實(shí)驗(yàn)十一C排序算法* 1. 編程實(shí)現(xiàn):輸入n(n<10)個整數(shù),按從大到小的順序?qū)ζ渑判虿⑤敵觥? 2. 編程實(shí)現(xiàn):輸入一個字符串,按字符從小到大的順序?qū)ζ渑判蜉敵觥? 3. 編程實(shí)現(xiàn):鍵盤輸入同寢室n位同學(xué)的姓名(用漢語拼音表示),將這n位同學(xué)的姓名按字母順序排序后輸出。(此題為選做) 1. #include void main () { int n,c=1,i,j; int a[10]; while(c) { printf("請輸入n:\n"); scanf("%d",&n); if(n>1&&n<=10)c=0; e

60、lse printf("ERROE!\n"); } printf("請輸入這%d個數(shù):",n); for( i=0;i

61、intf("\n"); } 2. #include #include int main(void) { char str1[500]={0},str2[256]={0}; int i;gets(str1); for(i=0;str1[i];i++) { str2[str1[i]]=1; } for(i=0;i!=256;i++) if(str2[i]==1) printf("%c",i); putchar(\n); return 0; } 實(shí)驗(yàn)十二C函數(shù)的基本操作 1. 編寫函數(shù):計(jì)算三角形的面積。已知三角形三條邊長

62、,公式為: 其中x、y、z為邊長,c=(x+y+z)/2。 2. 編寫函數(shù):用來判斷一個整數(shù)是否滿足“用4除余1,用5除余3,用7除余4”,滿足則返回1,不滿足返回0,然后編寫main函數(shù),通過調(diào)用該函數(shù)顯示出200~500之間滿足該條件的數(shù)。 3. 編寫函數(shù)isprime( ),用來判斷一個整數(shù)a是否為素?cái)?shù)。再編寫main函數(shù),通過調(diào)用該函數(shù)打印出100~300之間所有的素?cái)?shù),要求一行打印10個。 4. 編寫函數(shù):判斷一個整數(shù)是否為水仙花數(shù),并編寫主程序調(diào)用該函數(shù)求出所有的水仙花數(shù)。 5. 用迭代法求。迭代公式為: 迭代到為止 ,為方程的近似解。 6. 所謂完數(shù)就是它所有因子的和等于其自身自然數(shù),如6=1+2+3,6就是一個完數(shù)。編寫兩個函數(shù):函數(shù)factor(n)用來判斷n是否是完數(shù),函數(shù)PriFac(n)用來顯示完數(shù)n的所有因子,在主函數(shù)中調(diào)用這兩個函數(shù),顯示1~300

展開閱讀全文
溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!