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

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

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

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

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

      C語言必背的典型程序設(shè)計(jì)題目 - 數(shù)組、函數(shù)-------參考答案

      時(shí)間:2019-05-13 10:40:45下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《C語言必背的典型程序設(shè)計(jì)題目 - 數(shù)組、函數(shù)-------參考答案》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《C語言必背的典型程序設(shè)計(jì)題目 - 數(shù)組、函數(shù)-------參考答案》。

      第一篇:C語言必背的典型程序設(shè)計(jì)題目 - 數(shù)組、函數(shù)-------參考答案

      數(shù)組部分必須會編寫的程序(參考答案)

      1、使用選擇法、冒泡法對10個(gè)數(shù)進(jìn)行排序,并輸出排序前后的數(shù)列。

      //選擇法

      #include void main(){ int a[10]={12,45,7,8,96,4,10,48,2,46},n=10,i,j,t,temp;printf(“Before sort:”);for(i=0;i<10;i++){

      printf(“%4d”,a[i]);} printf(“n”);//排序

      for(i=0;i<9;i++){

      t=i;

      for(j=i+1;j<10;j++)

      {

      if(a[t]>a[j])

      {

      t=j;

      }

      }

      if(t!=i)

      {

      temp=a[i];

      a[i]=a[t];a[t]=temp;

      } } printf(“Aftere sorted:”);for(i=0;i<10;i++){

      printf(“%4d”,a[i]);} printf(“n”);} //冒泡法

      #include void main(){ int a[10]={12,45,7,8,96,4,10,48,2,46},n=10,I,j,t;printf(“Before sort:”);for(i=0;i<10;i++){ printf(“%4d”,a[i]);} prtintf(“n”);//排序

      for(i=0;i<=n-1;i++)

      {

      for(j=0;j

      if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} } printf(“Aftere sorted:”);for(i=0;i<10;i++){ printf(“%4d”,a[i]);} prtintf(“n”);}

      2、已知數(shù)組a中的元素已按由小到大順序排列,以下程序的功能是將輸入的一個(gè)數(shù)插入數(shù)組a中,插入后,數(shù)組a中的元素仍然由小到大順序排列。

      #include void main(){ int a[10]={0,12,17,20,25,28,30};/*a[0]為工作單元,從a[1]開始存放數(shù)據(jù)*/

      int x , i, j=6;

      /*j為元素個(gè)數(shù)*/ printf(“Enter a number: ”);

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

      /*從最后一個(gè)單元開始*/ while(a[i]>x){

      a[i+1]=a[i];i--;

      /*將比x大的數(shù)往后移動(dòng)一個(gè)位置*/ } a[++i]=x;j++;

      /*插入x后元素總個(gè)數(shù)增加*/ for(i=1;i<=j;i++)

      printf(“%8d”,a[i]);printf(“n”);}

      3、(提高題目)編號為1,2,3,……n的n個(gè)人按順時(shí)針方向圍坐一圈。任選一個(gè)正整數(shù)作為報(bào)數(shù)上限m,從第1個(gè)人開始按順時(shí)針方向自1開始順序報(bào)數(shù),報(bào)到m時(shí)停止報(bào)數(shù)。報(bào)m的人出列,從他在順時(shí)針方向上的下一個(gè)人開始重新從1報(bào)數(shù),如此下去,直至所有人全部出列為止。設(shè)計(jì)程序輸出出列順序。

      #include #define nmax 50 void main(){ int i,k,m,n,t,num[nmax];

      printf(“please input the total of numbers:”);scanf(“%d”,&n);printf(“please input the upper bound of numbers:”);scanf(“%d”,&m);

      for(i=0;i

      //數(shù)組初始化

      num[i]=0;

      i=0;

      //用于記錄順序1..n k=0;

      //用于記錄順序1..m t=0;

      //用于記錄出列順序

      while(t

      } { if(num[i]==0)k++;if(k==m){

      t++;

      num[i]=t;

      k=0;} i++;if(i==n)i=0;//或者 i=i%n,構(gòu)成循環(huán) } for(i=0;i

      printf(“%4d”,i+1);printf(“n”);for(i=0;i

      printf(“%4d”,num[i]);printf(“n”);

      4、編程打印直角楊輝三角形前六行。

      #include #include void main(){ int i,j,a[6][6];for(i=0;i<=5;i++){

      a[i][i]=1;

      a[i][0]=1;} for(i=2;i<=5;i++){

      for(j=1;j<=i-1;j++)

      {

      a[i][j]=a[i-1][j]+a[i-1][j-1];

      } } for(i=0;i<=5;i++){

      for(j=0;j<=i;j++)

      {

      printf(“%4d”,a[i][j]);

      }

      printf(“n”);} }

      5、編寫程序,把下面的數(shù)據(jù)輸入一個(gè)二維數(shù)組中。12 75 56 然后執(zhí)行以下操作:

      13 26 88 93 18 22 32 44 36 58 ①輸出矩陣兩個(gè)對角線上的數(shù);

      ②分別輸出各行和各列的和; ③交換第一行和第三行的位置; ④交換第二列和第四列的位置; ⑤輸出處理后的數(shù)組。

      #include #define SIZE 4 void main(){ int a[SIZE][SIZE]={{25,36,78,13},{12,26,88,93},{75,18,22,32},{56,44,36,58}};int i,j,t,sum;

      //輸出二維數(shù)組

      printf(“二維數(shù)組:n”);for(i=0;i

      for(j=0;j

      {

      printf(“%5d”,a[i][j]);

      }

      printf(“n”);}

      printf(“n”);

      printf(“主對角線上的數(shù):”);for(i=0;i

      printf(“%4d”,a[i][i]);} printf(“n”);

      printf(“副對角線上的數(shù):”);for(i=0;i

      printf(“%4d”,a[i][SIZE-1-i]);} printf(“nn”);

      //各列的和

      for(i=0;i

      sum=0;

      for(j=0;j

      {

      sum+=a[i][j];

      }

      printf(“第%d行的和=%dn”,i+1,sum);} printf(“n”);

      //各列的和

      for(j=0;j

      } { sum=0;for(i=0;i

      sum+=a[i][j];} printf(“第%d列的和=%dn”,j+1,sum);}

      printf(“n”);//交換第一行和第三行的位置 for(j=0;j

      printf(“交換第一行和第三行后的二維數(shù)組:n”);for(i=0;i

      printf(“%5d”,a[i][j]);} printf(“n”);}

      printf(“n”);//交換第二列和第四列的位置 for(i=0;i

      printf(“交換第2列和第4列后的二維數(shù)組:n”);for(i=0;i

      printf(“%5d”,a[i][j]);} printf(“n”);}

      6、求一個(gè)5×5矩陣中的馬鞍數(shù),輸出它的位置,所謂馬鞍數(shù)是指在行上最小而在列上最大的數(shù)。如下矩陣:

      ?5 6 7 8 9???4 5 6 7 8???3 4 5 2 1???2 3 4 9 0???1 2 5 4 8???

      則1行1列上的數(shù)就是馬鞍數(shù)。#include void main(){ int a[5][5]={{5,6,7,8,9},{4,5,6,7,8},{3,4,5,2,1},{2,3,4,9,0},{1,2,5,4,8}};int i,j,col,row,Min,Max;

      for(i=0;i<5;i++){

      Min=a[i][0];col=0;

      for(j=0;j<5;j++)

      {

      if(Min>a[i][j])

      {

      Min=a[i][j];

      col=j;

      }

      }

      Max=a[0][col];row=0;

      for(j=0;j<5;j++)

      {

      if(Max

      {

      Max=a[j][col];

      row=j;

      }

      }

      if(row==i)

      printf(“馬鞍數(shù)是行%d,列%d 值:%dn”,row+1,col+1,a[row][col]);} }

      7、定義一個(gè)二維數(shù)組,存入5個(gè)學(xué)生的數(shù)學(xué)、語文、英語、物理、化學(xué)5門課程的成績,計(jì)算并輸出每一門課程的平均成績和每一位學(xué)生的平均成績。

      #include #define N 5

      //代表學(xué)生數(shù) #define M 5

      //代表課程數(shù) void main(){ int scores[N][M]={{78,89,90,76,65},{86,79,98,74,95},{78,67,96,90,65}, {92,79,98,74,95},{69,94,85,67,56}};

      int i,j,sum;

      //輸入學(xué)生成績

      /* for(i=0;i

      printf(“輸入第%d個(gè)學(xué)生的數(shù)學(xué)、語文、英語、物理、化學(xué)5門課程的成績:”,i+1);

      for(j=0;j

      scanf(“%d”,&scores[i][j]);}*/

      //輸出學(xué)生成績

      printf(“序號t數(shù)學(xué)t語文t英語t物理t化學(xué)t平均成績n”);for(i=0;i

      sum=0;

      printf(“%dt”,i+1);

      for(j=0;j

      {

      sum+=scores[i][j];//計(jì)算每一位學(xué)生的總成績

      printf(“%dt”,scores[i][j]);

      }

      printf(“%dn”,sum/M);

      //輸出每一位學(xué)生的平均成績

      }

      //計(jì)算并輸出每一門課程的平均成績

      printf(“n平均t”);for(j=0;j

      sum=0;

      for(i=0;i

      {

      sum+=scores[i][j];

      }

      printf(“%dt”,sum/N);

      }

      printf(“n”);}

      8、輸入一個(gè)字符串,判斷其是否為回文?;匚淖址侵笍淖蟮接易x和從右到左讀完全相同的字符串。

      #include #include void main(){ char s[100];

      int i,j,n;

      printf(“輸入字符串:n”);

      gets(s);

      n=strlen(s);

      for(i=0,j=n-1;i

      if(s[i]!=s[j])

      break;

      if(i>=j)printf(“是回文串n”);

      else

      printf(“不是回文串n”);}

      9、編寫程序?qū)崿F(xiàn)從字符數(shù)組s中刪除存放在c中的字符。

      #include #include

      void main(){ char s[80],c;

      int j,k;

      printf(“nEnter a string: ”);

      gets(s);

      printf(“nEnter a character: ”);

      c=getchar();

      for(j=k=0;s[j]!= '