欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      數(shù)組典型例題

      時間:2019-05-13 08:08:44下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關的《數(shù)組典型例題》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《數(shù)組典型例題》。

      第一篇:數(shù)組典型例題

      數(shù)組典型例題

      數(shù)組應用程序設計

      1、從鍵盤輸入11個數(shù)存入一維數(shù)組中,先輸出下標為奇數(shù)的元素,再輸出下標為偶數(shù)的元素。

      main(){float a[11];int i;for(i=0;i<=10;i++)

      scanf(“%f”,&a[i]);for(i=1;i<=9;i+=2)printf(“%f,”,a[i]);for(i=0;i<=10;i+=2)printf(“%f,”,a[i]);printf(“n”);}

      2、從鍵盤輸入11個數(shù)存入一維數(shù)組中,將下標為奇數(shù)的元素值取倒數(shù)后重新存入該數(shù)組中,并輸出所有元素。

      main(){float a[11];int i;for(i=0;i<=10;i++)

      scanf(“%f”,&a[i]);for(i=1;i<=9;i+=2)

      a[i]=1/a[i];

      /*因a[i]為float型,故不必寫作1.0/a[i]*/ for(i=0;i<=10;i++)printf(“%f,”,a[i]);printf(“n”);}

      3、從鍵盤輸入11個數(shù)存入一維數(shù)組中,將左半部分的元素值取倒數(shù)后重新存入該數(shù)組中,并輸出所有元素。

      解法1:

      main(){float a[11];int i;for(i=0;i<11;i++)

      scanf(“%f”,&a[i]);for(i=0;i<5;i++)

      /*左半部分下標為0到4*/ a[i]=1/a[i];

      for(i=0;i<11;i++)printf(“%f,”,a[i]);printf(“n”);} 解法2:

      #define N 11 main(){float a[N];int i;for(i=0;i

      scanf(“%f”,&a[i]);for(i=0;i

      /*左半部分下標為0到N/2-1*/ a[i]=1/a[i];

      for(i=0;i

      4、從鍵盤輸入11個數(shù)存入一維數(shù)組中,將右半部分的元素值取相反數(shù)后重新存入該數(shù)組中,并輸出所有元素。

      解法1:

      main(){float a[11];int i;for(i=0;i<11;i++)

      scanf(“%f”,&a[i]);for(i=6;i<11;i++)

      /*右半部分下標為6到10*/ a[i]=-a[i];

      for(i=0;i<11;i++)printf(“%f,”,a[i]);printf(“n”);} 解法2:

      #define N 11 main(){float a[N];int i;for(i=0;i

      scanf(“%f”,&a[i]);for(i=(N+1)/2;i<=N-1;i++)

      /*右半部分下標為(N+1)/2到N-1*/ a[i]=-a[i];

      for(i=0;i

      5、求出斐波那契數(shù)列的前20項并輸出。

      main(){long f[20]={1,1};int i;for(i=2;i<=19;i++)f[i]=f[i-2]+f[i-1];for(i=0;i<=19;i++)printf(“%12ld”,f[i]);}

      6、從鍵盤輸入10個數(shù),求出其中的最大數(shù)并輸出。

      main(){int a[10],max,i;for(i=0;i<=9;i++)scanf(“%d”,&a[i]);max=a[0];for(i=1;i<=9;i++){if(a[i]>max)max=a[i];} printf(“max=%dn”,max);}

      7、從鍵盤輸入10個數(shù),求出其中的最大數(shù)和最小數(shù)并輸出。

      解法1:

      main(){int a[10],max,min,i;for(i=0;i<=9;i++)scanf(“%d”,&a[i]);max=a[0];for(i=1;i<=9;i++){if(a[i]>max)max=a[i];} min=a[0];for(i=1;i<=9;i++){if(a[i]

      main(){int a[10],max,min,i;for(i=0;i<=9;i++)scanf(“%d”,&a[i]);max=min=a[0];for(i=1;i<=9;i++){if(a[i]>max)max=a[i];if(a[i]

      /*或else if(a[i]

      rintf(“max=%d,min=%dn”,max,min);}

      8、從鍵盤輸入11個數(shù)存入一維數(shù)組a中,再將其中的值按相反的順序存入數(shù)組b中并輸出。

      解法1:

      main(){int a[11],b[11],i;for(i=0;i<11;i++)

      scanf(“%d”,&a[i]);for(i=0;i<11;i++)

      {b[i]=a[10-i];printf(“%d,”,b[i]);} printf(“n”);} 解法2:

      #define N 11 main(){int a[N],b[N],i;for(i=0;i

      scanf(“%d”,&a[i]);for(i=0;i

      {b[i]=a[N-1-i];printf(“%d,”,b[i]);} printf(“n”);}

      8A、從鍵盤輸入11個數(shù)存入一維數(shù)組中,將其中的值前后倒置后重新存入該數(shù)組中并輸出。

      解法1:

      main(){int a[11],i,j,t;for(i=0;i<=10;i++)/*用循環(huán)輸入11個元素*/ scanf(“%d”,&a[i]);i=0;j=10;while(i

      main(){ int a[11],i,j,t;for(i=0;i<=10;i++)/*用循環(huán)輸入11個元素*/ scanf(“%d”,&a[i]);for(i=0,j=10;i

      #define N 11 main(){int a[N],i,t;for(i=0;i

      /*N為奇數(shù)偶數(shù)均可*/ {t=a[i];a[i]=a[N-1-i];a[N-1-i]=t;/*交換對應元素的值*/ } for(i=0;i

      9、從鍵盤輸入11個數(shù)存入一維數(shù)組中,將該數(shù)組中左半部分與右半部分的值平移交換后重新存入該數(shù)組中并輸出。

      解法1:

      main(){int a[11],i,t;for(i=0;i<11;i++)/*用循環(huán)輸入11個元素*/ scanf(“%d”,&a[i]);for(i=0;i<=4;i++)

      {t=a[i];a[i]=a[i+6];a[i+6]=t;/*交換對應元素的值*/ } for(i=0;i<11;i++)/*用循環(huán)輸出11個元素*/ printf(“%d,”,a[i]);printf(“n”);} 解法2:

      #define N 11

      main(){int a[N],i,t;for(i=0;i

      /*N為奇數(shù)偶數(shù)均可*/ {t=a[i];a[i]=a[i+(N+1)/2];a[i+(N+1)/2]=t;/*交換對應元素的值*/ } for(i=0;i

      10、從鍵盤輸入100個數(shù)存入一維數(shù)組中,求其和與平均值并輸出。

      #define N 100

      main(){float a[N],s,p;int i;s=0;for(i=0;i

      {scanf(“%f”,&a[i]);s=s+a[i];} p=s/N;printf(“s=%f,p=%fn”,s,p);}

      11、從鍵盤輸入一批正數(shù)存入一維數(shù)組中(以-1為結束標記),求其和與平均值并輸出。

      解法1:

      #define N 200

      main(){float a[N],s,p;int n=0;s=0;while(1){scanf(“%f”,&a[n]);if(a[n]==-1)break;s=s+a[n];n++;} p=s/n;printf(“s=%f,p=%fn”,s,p);} 解法2:

      #define N 200

      main(){float a[N],s,p;int n=0;s=0;scanf(“%f”,&a[n]);

      while(a[n]!=-1){s=s+a[n];n++;scanf(“%f”,&a[n]);

      } p=s/n;printf(“s=%f,p=%fn”,s,p);}

      12、從鍵盤輸入10個數(shù),用選擇法按降序排序并輸出。

      解法1:

      main(){int a[10],i,j,t;for(i=0;i<=9;i++)

      scanf(“%d”,&a[i]);for(i=0;i<=8;i++){for(j=i+1;j<=9;j++){if(a[i]

      main(){int a[10],t,i,j,max,k;for(i=0;i<=9;i++)

      scanf(“%d”,&a[i]);for(i=0;i<=8;i++){max=a[i];k=i;

      /*max保存本輪最大數(shù),k保存其下標*/ for(j=i+1;j<=9;j++){if(a[j]>max){max=a[j];k=j;} } t=a[i];a[i]=a[k];a[k]=t;

      /*將本輪最大數(shù)與a[i]互換*/ } for(i=0;i<=9;i++)printf(“%d,”,a[i]);printf(“n”);}

      解法3:改進的選擇法

      main(){int a[10],t,i,j,max;for(i=0;i<=9;i++)

      scanf(“%d”,&a[i]);for(i=0;i<=8;i++){max=i;

      /*max保存本輪最大數(shù)的下標*/ for(j=i+1;j<=9;j++){if(a[j]>a[max])max=j;} t=a[i];a[i]=a[max];a[max]=t;

      /*將本輪最大數(shù)與a[i]互換*/ } for(i=0;i<=9;i++)printf(“%d,”,a[i]);printf(“n”);}

      解法4:改進的選擇法 main(){int a[10],t,i,j,max;for(i=0;i<=9;i++)

      scanf(“%d”,&a[i]);for(i=0;i<=8;i++){max=i;

      /*max保存本輪最大數(shù)的下標*/ for(j=i+1;j<=9;j++){if(a[j]>a[max])max=j;} if(max!=i)

      /*若本輪最大數(shù)不是a[i]*/ {t=a[i];a[i]=a[max];a[max]=t;}

      /*將本輪最大數(shù)與a[i]互換*/ } for(i=0;i<=9;i++)printf(“%d,”,a[i]);printf(“n”);}

      12A、從鍵盤輸入10個學生的姓名和成績,用選擇法按成績降序排序并輸出(要求姓名和成績對應關系保持不變)。

      main(){int p[10],i,j,t;char a[10][30],m[30];for(i=0;i<=9;i++)

      gets(a[i]);/*輸入姓名存入數(shù)組a的第i行*/ for(i=0;i<=9;i++)scanf(“%d”,&p[i]);/*輸入成績*/ }

      for(i=0;i<=8;i++){for(j=i+1;j<=9;j++){if(p[i]

      /*輸出姓名*/ printf(“%dn”,p[i]);/*輸出成績*/ } }

      13、從鍵盤輸入一組數(shù)據按行優(yōu)先次序存入數(shù)組a[3][4]中,再按列優(yōu)先次序輸出。

      main(){int a[3][4],i,j;for(i=0;i<=2;i++)/*行優(yōu)先次序,外循環(huán)控制行號*/ for(j=0;j<=3;j++)/*內循環(huán)控制列號*/ scanf(“%d”,&a[i][j]);for(j=0;j<=3;j++)/*列優(yōu)先次序,外循環(huán)控制列號*/ {for(i=0;i<=2;i++)/*內循環(huán)控制行號*/ {printf(“%6d”,a[i][j]);} printf(“n”);} }

      14、從鍵盤輸入一組數(shù)據按行優(yōu)先次序存入數(shù)組a[3][4]中,再按相反的次序輸出。

      main(){int a[3][4],i,j;for(i=0;i<=2;i++)/*外循環(huán)控制行號*/ for(j=0;j<=3;j++)/*內循環(huán)控制列號*/ scanf(“%d”

      ,&a[i][j]);for(i=2;i>=0;i--){for(j=3;j>=0;j--){printf(“%6d”,a[i][j]);} printf(“n”);} }

      15、從鍵盤輸入一組數(shù)據存入數(shù)組a[3][3]中,再將主對角線及其下方元素值取倒數(shù)后重新存入該數(shù)組中,并輸出所有元素。

      main(){float a[3][3]; int i,j;for(i=0;i<=2;i++)/*外循環(huán)控制行號*/ for(j=0;j<=2;j++)/*內循環(huán)控制列號*/ scanf(“%f”,&a[i][j]);for(i=0;i<=2;i++){for(j=0;j<=i;j++)

      {a[i][j]=1/a[i][j];} /*因a[i][j]為float型,故不必寫作1.0/a[i][j]*/ } for(i=0;i<=2;i++){for(j=0;j<=2;j++)

      {printf(“%f,”,a[i][j]);} printf(“n”);} }

      15A、已知一個二維數(shù)組a[2][3]={{1,2,3},{4,5,6}},將其轉置后存入另一個二維數(shù)組b[3][2]中。

      main(){int a[2][3]={{1,2,3},{4,5,6}},b[3][2],i,j;for(i=0;i<3;i++)/*按行給數(shù)組b的元素賦值*/ {for(j=0;j<2;j++)/*并分行顯示數(shù)組b內容*/ {b[i][j]=a[j][i];printf(“%6d”,b[i][j]);} printf(“n”);/*注意該語句的位置*/ } }

      16A、已知一個3×4的矩陣a[3][4]={{1,2,3,4},{9,8,7,6},{-9,10,-5,2}},找出其中最大的元素值并輸出。

      main(){int i,j,max;int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};max=a[0][0];for(i=0;i<=2;i++)for(j=0;j<=3;j++)if(a[i][j]>max){max=a[i][j];} printf(“max=%dn”,max);}

      16B、已知一個3×4的矩陣a[3][4]={{1,2,3,4},{9,8,7,6},{-9,10,-5,2}},找出其中最大的元素值及其行列號并輸出。

      main(){int i,j,max,row,colum;int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};max=a[0][0];row=0;colum=0;for(i=0;i<=2;i++)for(j=0;j<=3;j++)if(a[i][j]>max){max=a[i][j];row=i;colum=j;} printf(“max=%d,row=%d,colum=%dn”,max,row,colum);}

      16、從鍵盤輸入一組數(shù)據存入數(shù)組a[3][3]中,求其主對角線元素之和。

      main(){float a[3][3],s=0; int i,j;for(i=0;i<=2;i++)/*外循環(huán)控制行號*/ for(j=0;j<=2;j++)/*內循環(huán)控制列號*/ scanf(“%f”,&a[i][j]);for(i=0;i<=2;i++)

      s=s+a[i][i]; /*主對角線元素行列號相同*/ printf(“s=%fn”,s);}

      17、從鍵盤輸入一組數(shù)據存入數(shù)組a[3][3]中,求其主對角線下方元素之和。

      main(){float a[3][3],s=0; int i,j;for(i=0;i<=2;i++)/*外循環(huán)控制行號*/ for(j=0;j<=2;j++)/*內循環(huán)控制列號*/ scanf(“%f”,&a[i][j]);for(i=0;i<=2;i++){for(j=0;j

      } printf(“s=%fn”,s);}

      18、從鍵盤輸入一組數(shù)據存入數(shù)組a[4][4]中,求其四周元素之和。

      main(){float a[4][4],s=0; int i,j;for(i=0;i<=3;i++)/*外循環(huán)控制行號*/ for(j=0;j<=3;j++)/*內循環(huán)控制列號*/ scanf(“%f”,&a[i][j]);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+a[i][j];

      } } printf(“s=%fn”,s);}

      19、已知兩個

      矩陣a[3][2]={1,3,5,2,4,6},b[3][2]={9,8,7,3,2,1},求其和矩陣c[3][2]并輸出。

      main(){int a[3][2]={1,3,5,2,4,6},b[3][2]={9,8,7,3,2,1},c[3][2]; int i,j;for(i=0;i<3;i++){for(j=0;j<2;j++){c[i][j]=a[i][j]+b[i][j];printf(“%6d”,c[i][j]);} printf(“n”);} }

      20、已知兩個矩陣a[3][2]={1,3,5,2,4,6},b[2][4]={9,8,7,3,2,1,5,6},求其積矩陣c[3][4]并輸出。

      main(){int a[3][2]={1,3,5,2,4,6},b[2][4]={9,8,7,3,2,1,5,6},c[3][2]; int i,j,k;for(i=0;i<3;i++){for(j=0;j<4;j++){c[i][j]=0;for(k=0;k<2;k++){c[i][j]=c[i][j]+a[i][k]*b[k][j];} printf(“%6d”,c[i][j]);} printf(“n”);} }

      21、從鍵盤輸入6個學生5門課程的成績,求每個人的總分與平均分。

      main(){float g[6][5],s[6],a[6]; int i,j;for(i=0;i<6;i++)

      {s[i]=0;

      /*s[i]是第i個人的總分*/ for(j=0;j<5;j++)

      {scanf(“%f”,&g[i][j]);

      /*g[i][j]是第i個人第j門課的成績*/ s[i]=s[i]+g[i][j];} a[i]=s[i]/5;

      /*a[i]是第i個人的平均分*/ printf(“%f,%fn”,s[i],a[i]);} }

      22、從鍵盤輸入6個學生5門課程的成績,求每門課程的平均分。

      main(){float g[6][5],s[6],a[6]; int i,j;for(i=0;i<6;i++){for(j=0;j<5;j++)

      scanf(“%f”,&g[i][j]);

      /*g[i][j]是第i個人第j門課的成績*/ } for(j=0;j<5;j++)

      /*列優(yōu)先次序,外循環(huán)控制列號,內循環(huán)控制行號*/ {s[j]=0;

      /*s[j]是第j門課的總分*/ for(i=0;i<6;i++){s[j]=s[j]+g[i][j];} a[j]=s[j]/6;

      /*a[j]是第j門課的平均分*/ printf(“%fn”,a[j]);} }

      23、從鍵盤輸入一個字符串存入數(shù)組a中,再將數(shù)組a的內容前后倒置后存入數(shù)組b中并輸出。

      #include main(){char a[80],b[80];int n,i;gets(a);n=strlen(a);for(i=0;i<=n-1;i++)b[i]=a[n-1-i];b[n]='