數(shù)組應(yīng)用程序設(shè)計_第1頁
數(shù)組應(yīng)用程序設(shè)計_第2頁
數(shù)組應(yīng)用程序設(shè)計_第3頁
數(shù)組應(yīng)用程序設(shè)計_第4頁
數(shù)組應(yīng)用程序設(shè)計_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、數(shù)組應(yīng)用程序設(shè)計1、從鍵盤輸入11個數(shù)存入一維數(shù)組中,先輸出下標(biāo)為奇數(shù)的元素,再輸出下標(biāo)為偶數(shù)的元素。main()float a11;int i;for(i=0;i=10;i+) scanf(%f,&ai);for(i=1;i=9;i+=2)printf(%f,ai);for(i=0;i=10;i+=2)printf(%f,ai);printf(n);2、從鍵盤輸入11個數(shù)存入一維數(shù)組中,將下標(biāo)為奇數(shù)的元素值取倒數(shù)后重新存入該數(shù)組中,并輸出所有元素。main()float a11;int i;for(i=0;i=10;i+)scanf(%f,&ai);for(i=1;i=9;i+=2)ai=1

2、/ai; /*因ai為float型,故不必寫作1.0/ai*/for(i=0;i=10;i+)printf(%f,ai);printf(n);3、從鍵盤輸入11個數(shù)存入一維數(shù)組中,將左半部分的元素值取倒數(shù)后重新存入該數(shù)組中,并輸出所有元素。解法1:main()float a11;int i;for(i=0;i11;i+)scanf(%f,&ai);for(i=0;i5;i+) /*左半部分下標(biāo)為0到4*/ai=1/ai; for(i=0;i11;i+)printf(%f,ai);printf(n);解法2:#define N 11main()float aN;int i;for(i=0;iN;

3、i+) scanf(%f,&ai);for(i=0;iN/2;i+) /*左半部分下標(biāo)為0到N/2-1*/ai=1/ai; for(i=0;iN;i+)printf(%f,ai);printf(n);4、從鍵盤輸入11個數(shù)存入一維數(shù)組中,將右半部分的元素值取相反數(shù)后重新存入該數(shù)組中,并輸出所有元素。解法1:main()float a11;int i;for(i=0;i11;i+) scanf(%f,&ai);for(i=6;i11;i+) /*右半部分下標(biāo)為6到10*/ai=-ai; for(i=0;i11;i+)printf(%f,ai);printf(n);解法2:#define N 11

4、main()float aN;int i;for(i=0;iN;i+) scanf(%f,&ai);for(i=(N+1)/2;i=N-1;i+) /*右半部分下標(biāo)為(N+1)/2到N-1*/ai=-ai; for(i=0;iN;i+)printf(%f,ai);printf(n);5、求出斐波那契數(shù)列的前20項并輸出。(前兩項為1,從第三項開始每一項是前兩項的和)main() long f20=1,1;int i;for(i=2;i=19;i+)fi=fi-2+fi-1;for(i=0;i=19;i+) printf(%12ld,fi);6、從鍵盤輸入10個數(shù),求出其中的最大數(shù)及下標(biāo)并輸出。

5、main()int a10,max,i,k;for(i=0;i=9;i+) scanf(%d,&ai);max=a0;k=0;for(i=1;imax) max=ai;k=i;/*記錄最大數(shù)及下標(biāo)*/ printf(max=%d,%dn,max,i);7、從鍵盤輸入10個數(shù),求出其中的最大數(shù)和最小數(shù)并輸出。解法1:main()int a10,max,min,i; for(i=0;i=9;i+) scanf(%d,&ai); max=a0; for(i=1;imax) max=ai; min=a0; for(i=1;i=9;i+)if(aimin) min=ai; printf(max=%dn,

6、max);printf(min=%dn,min);解法2:main()int a10,max,min,i; for(i=0;i=9;i+) scanf(%d,&ai); max=min=a0; for(i=1;imax) max=ai; if(aimin) /*或else if(aimin)*/ min=ai; printf(max=%d,min=%dn,max,min);8、從鍵盤輸入11個數(shù)存入一維數(shù)組a中,再將其中的值按相反的順序存入數(shù)組b中并輸出。解法1:main()int a11,b11,i;for(i=0;i11;i+)scanf(%d,&ai);for(i=0;i11; i+)b

7、i=a10-i;printf(%d,bi);printf(n);解法2:#define N 11main()int aN,bN,i;for(i=0;iN;i+)scanf(%d,&ai);for(i=0;iN;i+)bi=aN-1-i;printf(%d,bi);printf(n);9、從鍵盤輸入11個數(shù)存入一維數(shù)組中,將其中的值前后倒置后重新存入該數(shù)組中并輸出。解法1:main()int a11,i,j,t;for(i=0;i=10;i+) /*用循環(huán)輸入11個元素*/scanf(%d,&ai);i=0;j=10;while(ij)t=ai;ai=aj;aj=t; /*交換對應(yīng)元素的值*/i

8、+;j-;for(i=0;i=10;i+) /*用循環(huán)輸出11個元素*/printf(%d,ai);printf(n);解法2:main() int a11,i,j,t;for(i=0;i=10;i+) /*用循環(huán)輸入11個元素*/scanf(%d,&ai);for(i=0,j=10; ij; i+,j-)t=ai;ai=aj;aj=t; /*交換對應(yīng)元素的值*/for(i=0;i=10;i+) /*用循環(huán)輸出11個元素*/printf(%d,ai);printf(n);解法3:#define N 11main()int aN,i,t;for(i=0;iN;i+) /*用循環(huán)輸入11個元素*/

9、scanf(%d,&ai);for(i=0;iN/2; i+) /*N為奇數(shù)偶數(shù)均可*/t=ai;ai=aN-1-i;aN-1-i=t; /*交換對應(yīng)元素的值*/for(i=0;iN;i+) /*用循環(huán)輸出11個元素*/printf(%d,ai);printf(n);10、從鍵盤輸入11個數(shù)存入一維數(shù)組中,再輸入位置x,y,將x,y之間的數(shù)反序排列main()int a11,i,j,t;for(i=0;iy)t=x;x=y;y=ti=x-1;j=y-1;while(ij)t=ai;ai=aj;aj=t; /*交換對應(yīng)元素的值*/i+;j-;for(i=0;i=10;i+) /*用循環(huán)輸出11個

10、元素*/printf(%d,ai);printf(n);11、從鍵盤輸入11個數(shù)存入一維數(shù)組中,將該數(shù)組中左半部分與右半部分的值平移交換后重新存入該數(shù)組中并輸出。解法1:main()int a11,i,t;for(i=0;i11;i+) scanf(%d,&ai);for(i=0;i=4; i+)t=ai;ai=ai+6;ai+6=t; /*交換對應(yīng)元素的值*/for(i=0;i11;i+) /*用循環(huán)輸出11個元素*/ printf(%d,ai);printf(n);解法2:/*這種方法對任意個數(shù)都可處理,只要把N的值修改一下就可以了*/#define N 11main()int aN,i,

11、t;for(i=0;iN;i+) /*用循環(huán)輸入11個元素*/scanf(%d,&ai);for(i=0;i=N/2-1; i+) /*N為奇數(shù)偶數(shù)均可*/t=ai;ai=ai+(N+1)/2;ai+(N+1)/2=t; /*交換對應(yīng)元素的值*/for(i=0;iN;i+) /*用循環(huán)輸出11個元素*/printf(%d,ai);printf(n);12、從鍵盤輸入100個數(shù)存入一維數(shù)組中,求其和與平均值并輸出。#define N 100main()float aN,s,p;int i;s=0;for(i=0;iN;i+)scanf(%f,&ai);s=s+ai;p=s/N;printf(s=

12、%f,p=%fn,s,p);13、從鍵盤輸入100個數(shù)存入一維數(shù)組中,并找出與平均值最接近的數(shù)。#define N 100#include “stdio.h”#include “math.h”main()float aN,s,p,x,y;int i;s=0;for(i=0;iN;i+)scanf(%f,&ai);s=s+ai;p=s/N;x=fabs(a0-p);for(i=1;ifabs(ai-p)x=fabs(ai-p);y=i;printf(最接近平均值的數(shù)為%fn,ay);14、從鍵盤輸入一批正數(shù)存入一維數(shù)組中(以-1為結(jié)束標(biāo)記),求其和與平均值并輸出。解法1:#define N 20

13、0main()float aN,s,p;int n=0;s=0;while(1)scanf(%f,&an); if(an=-1) break; s=s+an;n+;p=s/n;printf(s=%f,p=%fn,s,p);解法2:#define N 200main()float aN,s,p;int n=0;s=0;scanf(%f,&an);while(an!=-1)s=s+an;n+;scanf(%f,&an);p=s/n;printf(s=%f,p=%fn,s,p);15、從鍵盤輸入10個數(shù),用插入法對數(shù)組進(jìn)行降序排序并輸出。main()int a10,i,j,t;for(i=0;i=9

14、;i+)scanf(%d,&ai);for(i=0;i=0&taj)aj+1=aj;j-;aj+1=t;for(i=0;i=9;i+)printf(“%d”,ai);16、從鍵盤輸入10個數(shù),用選擇法按降序排序并輸出。解法1:main()int a10,i,j,t;for(i=0;i=9;i+) scanf(%d,&ai);for(i=0;i=8;i+)for(j=i+1;j=9;j+) if(aiaj) t=ai;ai=aj;aj=t; for(i=0;i=9;i+) printf(%d,ai);printf(n);解法2:main()int a10,t,i,j,max,k;for(i=0;

15、i=9;i+) scanf(%d,&ai);for(i=0;i=8;i+)max=ai;k=i; /*max保存本輪最大數(shù),k保存其下標(biāo)*/for(j=i+1;jmax) max=aj;k=j; t=ai;ai=ak;ak=t; /*將本輪最大數(shù)與ai互換*/for(i=0;i=9;i+) printf(%d,ai);printf(n);解法3:改進(jìn)的選擇法main()int a10,t,i,j,max;for(i=0;i=9;i+) scanf(%d,&ai);for(i=0;i=8;i+)max=i; /*max保存本輪最大數(shù)的下標(biāo)*/for(j=i+1;jamax) max=j; t=a

16、i;ai=amax;amax=t; /*將本輪最大數(shù)與ai互換*/ for(i=0;i=9;i+) printf(%d,ai);printf(n);17、用冒泡法對輸入的10個數(shù)按從小到大的次序排序。main()int a10,i,j,t;for(i=0;i=9;i+) scanf(%d,&ai);for(i=0;i=8;i+)for(j=0;j=9-i;j+) if(aj+1aj) t=aj+1;aj+1=aj;aj=t; for(i=0;i=9;i+) printf(%d,ai);printf(n);18、將一個字符串中的元音字母復(fù)制到另一字符串,然后輸出。#include#define

17、n 100main()int i,j=0;char arrn,arn;gets(arr);for(i=0;arri!=0;i+)if(arri=a|arri=e|arri=i|arri=o|arri=u)arj=arri;j+;printf(元音:);for(i=0;i=0;j-);printf(“%c”,ci); 20、輸入一個字符串,內(nèi)有數(shù)字和非數(shù)字字符,如a123x45617960?302tab5876將其中連續(xù)的數(shù)字作為一個整數(shù),依次存放到一數(shù)組a中。例如,123放在a0,456放在a1統(tǒng)計共有多少個整數(shù),并輸出這些數(shù)。#include #include void main() cha

18、r c100; int a50, num=0,i=0,j=0; gets(c); while( cj!=0) if(cj=0 & cj=0 & cj=9) ai=ai*10+(cj-0); j+; num+=1;i+; else j+; for(i=0; inum; i+) printf(%d ,ai); putchar(n); printf(一共有%d個整數(shù)。n,num); 21、輸入一個十進(jìn)制正數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)#includevoid main()int a;int b20,i=0,k;printf(輸入十進(jìn)制:);scanf(%d,&a);if(a=0)printf(0);elsewhi

19、le(a=1)bi=a%2;a=a/2;i+;for(k=i-1;k=0;k-)printf(%d,bk);printf(n);22、從鍵盤輸入一組數(shù)據(jù)按行優(yōu)先次序存入數(shù)組a34中,再按列優(yōu)先次序輸出。main()int a34,i,j;for(i=0;i=2;i+) /*行優(yōu)先次序,外循環(huán)控制行號*/ for(j=0;j=3;j+) /*內(nèi)循環(huán)控制列號*/scanf(%d,&aij);for(j=0;j=3;j+) /*列優(yōu)先次序,外循環(huán)控制列號*/ for(i=0;i=2;i+) /*內(nèi)循環(huán)控制行號*/printf(%6d,aij); printf(n); 23、從鍵盤輸入一組數(shù)據(jù)按行優(yōu)先

20、次序存入數(shù)組a34中,再按相反的次序輸出。main()int a34,i,j;for(i=0;i=2;i+) /*外循環(huán)控制行號*/ for(j=0;j=0;i-) for(j=3;j=0;j-)printf(%6d,aij); printf(n); 24、從鍵盤輸入一組數(shù)據(jù)存入數(shù)組a33中,再將主對角線及其下方元素值取倒數(shù)后重新存入該數(shù)組中,并輸出所有元素。main()float a33;int i,j; for(i=0;i=2;i+) /*外循環(huán)控制行號*/ for(j=0;j=2;j+) /*內(nèi)循環(huán)控制列號*/scanf(%f,&aij);for(i=0;i=2;i+)for(j=0;j

21、=i;j+)aij=1/aij;/*因aij為float型,故不必寫作1.0/aij*/ for(i=0;i=2;i+)for(j=0;j=2;j+)printf(%f,aij); printf(n); 25、已知一個二維數(shù)組a23=1,2,3,4,5,6,將其轉(zhuǎn)置后存入另一個二維數(shù)組b32中。main()int a23=1,2,3,4,5,6,b32,i,j;for(i=0;i3;i+) /*按行給數(shù)組b的元素賦值*/for(j=0;j2;j+) /*并分行顯示數(shù)組b內(nèi)容*/ bij=aji; printf(%6d,bij); printf(n); /*注意該語句的位置*/26、已知一個34

22、的矩陣a34=1,2,3,4,9,8,7,6,-9,10,-5,2,找出其中最大的元素值并輸出。main()int i,j,max;int a34=1,2,3,4,9,8,7,6,-10,10,-5,2;max=a00;for(i=0;i=2;i+) for(j=0;jmax) max=aij;printf(max=%dn,max);27、已知一個34的矩陣a34=1,2,3,4,9,8,7,6,-9,10,-5,2,找出其中最大的元素值及其行列號并輸出。main()int i,j,max,row,colum;int a34=1,2,3,4,9,8,7,6,-10,10,-5,2;max=a0

23、0;row=0;colum=0;for(i=0;i=2;i+) for(j=0;jmax) max=aij; row=i; colum=j; printf(max=%d,row=%d,colum=%dn,max,row,colum);28、從鍵盤輸入一組數(shù)據(jù)存入數(shù)組a33中,求其主對角線元素之和。main()float a33,s=0;int i,j; for(i=0;i=2;i+) /*外循環(huán)控制行號*/ for(j=0;j=2;j+) /*內(nèi)循環(huán)控制列號*/scanf(%f,&aij); for(i=0;i=2;i+) s=s+aii; /*主對角線元素行列號相同*/printf(s=%f

24、n,s);29、從鍵盤輸入一組數(shù)據(jù)存入數(shù)組a33中,求其主對角線下方元素之和。main()float a33,s=0;int i,j; for(i=0;i=2;i+) /*外循環(huán)控制行號*/ for(j=0;j=2;j+) /*內(nèi)循環(huán)控制列號*/ scanf(%f,&aij);for(i=0;i=2;i+)for(j=0;ji;j+)s=s+aij;printf(s=%fn,s);30、從鍵盤輸入一組數(shù)據(jù)存入數(shù)組a44中,求其四周元素之和。main()float a44,s=0;int i,j; for(i=0;i=3;i+) /*外循環(huán)控制行號*/ for(j=0;j=3;j+) /*內(nèi)循環(huán)

25、控制列號*/ scanf(%f,&aij); for(i=0;i=3;i+)for(j=0;j=3;j+)if(i=0|i=3|j=0|j=3)/*行列號等于0或者等于3*/ s=s+aij; printf(s=%fn,s); 31、已知兩個矩陣a32=1,3,5,2,4,6,b32=9,8,7,3,2,1,求其和矩陣c32并輸出。main()int a32=1,3,5,2,4,6,b32=9,8,7,3,2,1,c32;int i,j; for(i=0;i3;i+) for(j=0;j2;j+) cij=aij+bij; printf(%6d,cij); printf(n);32、已知兩個矩

26、陣a32=1,3,5,2,4,6,b24=9,8,7,3,2,1,5,6,求其積矩陣c34并輸出。main()int a32=1,3,5,2,4,6,b24=9,8,7,3,2,1,5,6,c32;int i,j,k; for(i=0;i3;i+)for(j=0;j4;j+) cij=0; for(k=0;k2;k+) cij=cij+aik*bkj; printf(%6d,cij); printf(n);33、從鍵盤輸入6個學(xué)生5門課程的成績,求每個人的總分與平均分。main()float g65,s6,a6;int i,j; for(i=0;i6;i+)si=0; /*si是第i個人的總分

27、*/ for(j=0;j5;j+)scanf(%f,&gij); /*gij是第i個人第j門課的成績*/ si=si+gij; ai=si/5; /*ai是第i個人的平均分*/ printf(%f,%fn,si,ai);34、從鍵盤輸入6個學(xué)生5門課程的成績,求每門課程的平均分。main()float g65,s6,a6;int i,j; for(i=0;i6;i+) for(j=0;j5;j+) scanf(%f,&gij); /*gij是第i個人第j門課的成績*/ for(j=0;j5;j+) /*列優(yōu)先次序,外循環(huán)控制列號,內(nèi)循環(huán)控制行號*/sj=0; /*sj是第j門課的總分*/ fo

28、r(i=0;i6;i+)sj=sj+gij; aj=sj/6; /*aj是第j門課的平均分*/ printf(%fn,aj);35、輸入一個二維數(shù)組,找出每行的最大值輸出。main()int i,j,max;int a34=1,2,3,4,9,8,7,6,-10,10,-5,2;for(i=0;i=2;i+)max=ai0; for(j=0;jmax) max=aij;bi=max;/*第 i行的最大值*/for(j=0;j=2;j+)printf(第%d行的最大值為%d,j,bj);36、輸入一個二維數(shù)組,找出每列的最小值輸出。main()int i,j,min;int a34=1,2,3,

29、4,9,8,7,6,-10,10,-5,2;for(i=0;i=3;i+)min=a0i; for(j=0;j=2;j+) if(ajimin) min=aji;bi=min; /*第 i列的最小值*/for(j=0;j=3;j+)printf(第%d列的最小值為%d,j,bj);37、找出一個二維數(shù)組中的鞍點(diǎn),即該位置上的元素在該行上最大,在該列上最小。也可能沒有鞍點(diǎn)。main()int i,j,max,k=1;int a34=1,2,3,4,9,8,7,6,-10,10,-5,2;for(i=0;i=2;i+)max=ai0; for(j=0;jmax) max=aij; t=j; /*第

30、i行的最大值在第t列上*/min=a0t; for(j=0;j=2;j+) if(ajtmin) min=ajt; /*第t列上的最小值*/if(max=min)printf(“%d行%d列上的元素是鞍點(diǎn)”,i,t);k=0;/*找到鞍點(diǎn)k值置0*/if(k=1)printf(“該二維數(shù)組沒有鞍點(diǎn)“);38、從鍵盤輸入一個字符串存入數(shù)組a中,再將數(shù)組a的內(nèi)容前后倒置后存入數(shù)組b中并輸出。#include main()char a80,b80;int n,i;gets(a);n=strlen(a);for(i=0;i=n-1;i+)/*或for(i=0; bi=0;i+)*/ bi=an-1-i

31、;bn=0; puts(b);39、從鍵盤輸入一個字符串存入數(shù)組a中,再將a的內(nèi)容前后倒置后重新存入數(shù)組a中并輸出。解法1:#include main()char a80,t;int n,i,j;gets(a);n=strlen(a);i=0;j=n-1;while(ij)t=ai;ai=aj;aj=t; /*交換對應(yīng)元素的值*/ i+;j-;puts(a);解法2:#include main()char a80,t;int n,i;gets(a);n=strlen(a);for(i=0;in/2;i+)t=ai;ai=an-1-i;an-1-i=t; /*交換對應(yīng)元素*/puts(a);40

32、、從鍵盤輸入一個字符串存入字符數(shù)組中,求出該字符串的長度并輸出(不能調(diào)用strlen函數(shù))。#include main()char a80;int n;gets(a);n=0;while(ai!=0) n+;printf(n=%dn,n);41、從鍵盤輸入一個字符串存入數(shù)組a中,再將數(shù)組a的內(nèi)容復(fù)制到數(shù)組b中并輸出(不能調(diào)用strcpy函數(shù))。解法1:#include main()char a80,b80;int i,n;gets(a);n=strlen(a);for(i=0;i=n;i+) /*包括0在內(nèi)*/ bi=ai;puts(b);解法2:#include main()char a80

33、,b80;int i,n;gets(a);for(i=0;ai!=0;i+) bi=ai; /*未復(fù)制0*/ai=0;puts(b);42、從鍵盤輸入兩個字符串分別存入字符數(shù)組a和b中,再將b中的字符串連接到a中字符串之后并輸出(不能調(diào)用strcat函數(shù))。#include main()char a80,b30;int i,n1,n2;gets(a);gets(b);n1=strlen(a);n2=strlen(b);for(i=0;ib,則結(jié)果大于0;若ab,則結(jié)果小于0;若a=b,則結(jié)果等于0。不能調(diào)用strcmp函數(shù))。#include main()char a80,b80;int i,

34、r;gets(a);gets(b);i=0;while(ai!=0&bi!=0) /*若遇到0,則停止比較*/if(ai=bi) i+; /*若對應(yīng)字符相等,則繼續(xù)比較下一個*/ else break; /*若對應(yīng)字符不相等,則停止比較*/ r=ai-bi;printf(r=%dn,r);44、輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字和其他字符的個數(shù)Main( )char a100;int t1=0,t2=0,t3=0,t4=0,i;Printf(“請輸入一個字符”);Scanf(“%s”,a);For(i=0;ai!=0;i+)If(ai=A& ai=a& ai=0& ai=A& a

35、i=a& ai=0& ai=9) t3+;else t4+;/*想想為什么*/45、從鍵盤輸入的一行字符,統(tǒng)計其中單詞的個數(shù)。假設(shè)單詞之間以空格分隔。#include main()char a80;int i,n,c=0;gets(a);n=strlen(a);for(i=0;i=n-1;i+)if(ai!= &(ai+1= |ai+1=0) c+; /*第i個字符不是空格,第i+1個字符是空格或0,表示一個單詞結(jié)束*/printf(c=%dn,c);46、從鍵盤輸入一行字符,統(tǒng)計其中單詞的個數(shù)。假設(shè)單詞之間以標(biāo)點(diǎn)或空格分隔。#include #include main()char a80;i

36、nt i,n,c=0;gets(a);n=strlen(a);for(i=0;i=n-1;i+)if(isalpha(ai)&!isalpha(ai+1) c+; /*或if(isalpha(ai)!=0&isalpha(ai+1)=0)*/ /*第i個字符是字母,第i+1個字符不是字母,表示一個單詞結(jié)束。其中isalpha(ai)函數(shù)檢查ai是否是字符*/printf(c=%dn,c);47、從鍵盤輸入一行字符,按下列規(guī)則加密之后輸出。AZ azBY byCX cx.ZA za#include main()char a80;int i,n;gets(a);n=strlen(a);for(i=

37、0;i=a&ai=A&aic)/* 找到的第一個比插入的數(shù)要大的數(shù)*/for(t=n;t=k;t-) at+1=at;/*把a(bǔ)k及它后面的數(shù)都往后面移一個位置,注意從最后的0開始移起,想想為什么?*/ break;else k+;/*不滿足條件繼續(xù)往下找*/ak=c;printf(“%s”,a);方法二:(與方法一類似)Main( ) char a10=”acejk”;char c;int k=0,n,t;scanf(“%c”,&c);n=strlen(a);while(ak!=0)if(akc)break; /* 找到的第一個比插入的數(shù)要大的數(shù),尋找結(jié)束*/else k+;/*不滿足條件繼續(xù)

38、往下找*/for(t=n;t=k;t-) at+1=at; /*把a(bǔ)k及它后面的數(shù)都往后面移一個位置*/ak=c;printf(“%s”,a);方法三:(從最后開始找,找到的第一個比插入的數(shù)要小的數(shù)的位置的后面一個位置就是插入數(shù)的位置)Main( ) char a10=”acejk”;char c;int k=0,n,t;scanf(“%c”,&c);n=strlen(a);while(ak!=0)if(akk;t-) at+1=at;/*把a(bǔ)k+1及它后面的數(shù)都往后面移一個位置,注意從最后開始移起,想想為什么?*/ak+1=c;printf(“%s”,a);49、將兩個按從小到大排好序的字符

39、串歸并到一個字符串中。#include “stdio.h”#include”string.h”Main( )char a10=”acejk”;char b10=”bdfgqxz”;char c20,k=0,t=0,m=0;while(at!=0&bk!=0)/*當(dāng)兩個字符串都沒有結(jié)束時,循環(huán)*/if(atbk)cm=bk;k+;m+;else cm=at;t+;m+;while(at!=0)/*當(dāng)B字符串結(jié)束時,A字符串連接到排好序的字符串后面*/strcpy(cm,at);while(bk!=0) *當(dāng)A字符串結(jié)束時,B字符串連接到排好序的字符串后面*/strcpy(cm,bk);50、在一個字符數(shù)組中查找一個指定的字符,若數(shù)組中含有該字符,則輸出該字符在數(shù)組中第一次出現(xiàn)的位置(下標(biāo)值);否則輸出-1。# incldue”stdio.h”# include “string.h”main( )char c=a,t50;int n,k,j;gets(t);n

溫馨提示

  • 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

提交評論