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

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

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

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

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

      西北農(nóng)林科技大學(xué)C語言上機(jī)實習(xí)4答案

      時間:2019-05-14 17:00:27下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《西北農(nóng)林科技大學(xué)C語言上機(jī)實習(xí)4答案》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《西北農(nóng)林科技大學(xué)C語言上機(jī)實習(xí)4答案》。

      第一篇:西北農(nóng)林科技大學(xué)C語言上機(jī)實習(xí)4答案

      實習(xí)四答案

      1、字符串連接

      /* exer 4-1 兩串字符連接 */由鍵盤任意輸入兩串字符,不用庫函數(shù)strcat,連接將兩串字符。

      輸入: 兩串字符

      輸出: 連接將兩串字符

      輸入樣例: abc def

      輸出樣例: abcdef

      #include #include void main(void){

      unsigned int i,j;

      char soustr[80],desstr[80];

      //printf(“please enter soustr:”);

      gets(soustr);

      /* 輸入原串 */

      //printf(“please enter desstr:”);

      gets(desstr);

      /* 輸入目的串 */

      i = strlen(soustr);

      /* 取目的串尾部位置 */

      for(j=0;j<=strlen(soustr);j++,i++)

      {

      soustr[i] = desstr[j];

      /* 將原串依次接入目的串尾部 */

      }

      puts(soustr);}

      2、簡單加密程序

      /* exer 4-2 字符加密 */ 由鍵盤任意輸入一串字符,對其進(jìn)行加密,加密原則為:如果為字母,將其循環(huán)右移2個字母,其他字符保持不變。

      輸入: 一串字符

      輸出: 加密后的字符串

      輸入樣例: abl2CDxyz 輸出樣例: cdl2EFzab

      提示: 1.可用gets()和puts()輸入輸出字符串。

      2.利用ASCII碼運算進(jìn)行加密。

      3.循環(huán)右移的含義是:將a-z,A-Z各看成一個環(huán)進(jìn)行移動,即y右移2個字母后為a,z右移2個字母后為b;Y右移2個字母后為A,Z右移2個字母后為B。

      #include #include void main(void){

      unsigned int j;

      char soustr[80],secstr[80];

      //printf(“please enter soustr:”);

      gets(soustr);

      /* 輸入原串 */

      for(j=0;j<=strlen(soustr);j++)

      {

      if(soustr[j]>='A' && soustr[j]<='Z')

      secstr[j] =(soustr[j]-'A'+2)%26+'A';/*計算大寫字母密文*/

      else if(soustr[j]>='a' && soustr[j]<='z')

      secstr[j] =(soustr[j]-'a'+2)%26+'a';/*計算小寫字母密文*/

      else

      secstr[j] = soustr[j];

      /* 其它字符不變 */

      }

      puts(secstr);}

      3、矩陣對角線元素求和

      /* exer 4-3 主和輔對角線上元素之和 */ 輸入一個5×5的數(shù)組,分別求其主對角線和輔對角線上元素之和。輸入: 5×5的數(shù)組

      輸出: 主對角線和輔對角線上元素之和

      輸入樣例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 輸出樣例: 65 65

      主對角線為從矩陣的左上角至右下角的連線,在數(shù)組中即指行列下標(biāo)相同的元素,輔對角線為從矩陣的右上角至左下角的連線,這些元素的下標(biāo)之間也可用相應(yīng)的表達(dá)式表達(dá)。

      #include #include void main(void){

      int i,j;

      int a[5][5];

      int sum1=0,sum2=0;

      //printf(“please enter soustr:”);

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

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

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

      /* 輸入數(shù)組 */

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

      {

      sum1 = sum1+a[i][i];

      /* 主對角線 */

      sum2 = sum2+a[i][4-i];

      /* 輔對角線 */

      }

      printf(“%d %dn”,sum1,sum2);}

      4、數(shù)據(jù)順序調(diào)整

      /* exer 4-4 將最大數(shù)調(diào)到最前面,最小數(shù)調(diào)到最后面 */

      由鍵盤任意輸入10個數(shù),將最大數(shù)調(diào)到最前面,最小數(shù)調(diào)到最后面。輸入: 任意10個數(shù) 輸出: 數(shù)據(jù)調(diào)整后的10個數(shù)。輸入樣例: 0 1 2 3 4 5 6 7 8 9

      輸出樣例: 9 1 2 3 4 5 6 7 8 0 提示:① 定義四個變量d1、d2、x1、x2,分別存放最大數(shù)、最小數(shù)及它們的位置;

      ② 在循環(huán)開始前,將第一個元素作為參考,將其值分別存入d1、x1,將其下標(biāo)分別存入d2、x2;

      ③ 在循環(huán)中將其它元素逐一與d1比較,若比d1大,將其存入d1,并將其下標(biāo)存入d2;否則將其與x1比較,若比x1小,將其存入x1,并將其下標(biāo)存入x2;

      ④ 結(jié)束循環(huán)后,將d2所示位置的數(shù)與第一個數(shù)交換,將x2所示位置的數(shù)與最后一個數(shù)交換,然后輸出數(shù)組所有元素即可。

      #include #include void main(void){

      int i,a[10],temp;

      int kmax=0,kmin=0;

      //printf(“please enter :”);

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

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

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

      {

      if(a[i]>a[kmax])

      kmax = i;

      else if(a[i]

      kmin = i;

      }

      if(kmax == 9 && kmin == 0)

      {

      temp = a[0];

      a[0] = a[kmax];

      a[kmax] = temp;

      }

      else

      {

      temp = a[0];

      a[0] = a[kmax];

      a[kmax] = temp;

      temp = a[9];

      a[9] = a[kmin];

      a[kmin] = temp;

      }

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

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

      printf(“%dn”,a[i]);

      /* 輸入數(shù)組 */

      /* 找最大數(shù)位置 */

      /* 找最小數(shù)位置 */ /* 與最前面的數(shù)交換 */ /* 與最前面的數(shù)交換 */

      /* 與最后面的數(shù)交換 */

      /* 輸出數(shù)組 */

      }

      5、字符個數(shù)統(tǒng)計

      /* exer 4-5 統(tǒng)計大寫字母、小寫字母、數(shù)字及其它字符的個數(shù) */ 由鍵盤輸入任意一串字符串,將其存入一個字符數(shù)組,統(tǒng)計其中的大寫字母、小寫字母、數(shù)字以及其他字符的個數(shù)。

      輸入: 任意一串字符串

      輸出: 大寫字母、小寫字母、數(shù)字以及其他字符的個數(shù)。

      輸入樣例: abcdefg123456ABCDEFG

      輸出樣例: 7 7 6 #include #include void main(void){

      unsigned int i;

      int cap=0,low=0,dig=0,oth=0;

      /* 定義并初始化 */

      char str[80];

      //printf(“please enter str:”);

      gets(str);

      /* 輸入原串 */

      for(i=0;i

      {

      if(str[i]>='A' && str[i]<='Z')

      cap++;

      /* 統(tǒng)計大寫字母 */

      else if(str[i]>='a' && str[i]<='z')

      low++;

      /* 統(tǒng)計小寫字母 */

      else if(str[i]>='0' && str[i]<='9')

      dig++;

      /* 統(tǒng)計數(shù)字 */

      else

      oth++;

      /* 統(tǒng)計其它字符 */

      }

      printf(“%d %d %d %dn”,cap,low,dig,oth);}

      6、學(xué)生成績計算

      /* exer 4-6 求每一個學(xué)生的總成績和平均成績 */ 已知10個學(xué)生的5門課程的成績,將其存入一個二維數(shù)組,求每一個學(xué)生的總成績和每一個學(xué)生的平均成績。

      輸入: 10個學(xué)生的5門課程的成績

      輸出: 每一個學(xué)生的總成績和每一個學(xué)生的平均成績

      輸入樣例: 90.5 80 70 89 84.6 91.5 81 71 88 84.7 92.5 82 72 87 84.8 93.5 83 73 86 84.9 94.5 84 74 85 84.0 95.5 85 75 84 84.1 96.5 86 76 83 84.2 97.5 87 77 82 84.3 98.5 88 78 81 84.4 99.5 89 79 80 84.5

      輸出樣例: 414.100006 82.820000

      416.200012 83.240005 418.299988 83.659996 420.399994 84.080002 421.500000 84.300003 423.600006 84.720001 425.700012 85.139999 427.799988 85.559998 429.899994 85.979996 432.000000 86.400002

      #include void main(void){

      int i,j;

      float score[10][5]={0.0f};

      float allsco[10],avesco[10];

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

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

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

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

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

      {

      allsco[i] = 0;

      /* 總成績清零 */

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

      {

      allsco[i] = allsco[i]+score[i][j];

      /* 累加總成績 */

      }

      avesco[i] = allsco[i]/5;

      /* 計算平均成績 */

      }

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

      printf(“%f %fn”,allsco[i],avesco[i]);/* 輸出成績 */ }

      7、姓名排序

      /* exer 4-7 姓名排序 */ 由鍵盤任意輸入10個學(xué)生的姓名(以拼音形式),將它們按照ASCⅡ碼的順序從小到大排序。10個學(xué)生的姓名(以拼音形式)

      輸出: 按照ASCⅡ碼的順序從小到大排序

      輸入樣例:

      輸入:

      zhang ziang zaang zbang zcang zdang zeang zfang zgang zhang

      輸出樣例: zaang zbang zcang zdang zeang zfang zgang zhang zhang ziang

      #include #include void main(void){

      int i,j,k;

      char name[10][80],temp[80];

      //printf(“please enter :”);

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

      gets(name[i]);

      /* 輸入姓名數(shù)組 */

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

      /* 排序 */

      {

      k = i;

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

      if(strcmp(name[k],name[j])>0)

      k = j;

      if(k!=i)

      {

      strcpy(temp,name[i]);

      strcpy(name[i],name[k]);

      strcpy(name[k],temp);

      /* 交換 */

      }

      }

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

      puts(name[i]);

      /* 輸出姓名數(shù)組 */ }

      8、輸出楊輝三角形

      /* exer 4-8 打印楊輝三角形 */ 編程實現(xiàn)n階(n<10)楊輝三角形的輸出,n=6時,楊輝三角形如下所示: 1 1 1 2 1 3 1 4 1 5 10 5

      輸入: 楊輝三角形的階數(shù)n。

      輸出: n階楊輝三角形。

      輸入樣例: 6 輸出樣例: 1 1 1 1 2 1 3 1 4 1 5 10 5

      提示:

      ① 楊輝三角形的特點:第一列和對角線上的元素值均為1,即a[i][0]=a[i][i]=1;其余位置元素的值=上一行本列元素值+上一行前一列元素值,如第三行第二列2就是第二行第一列+第二行第二列,計算公式為a[i][j]=a[i-1][j-1]+ a[i-1][j]。

      ② 應(yīng)先對第一列和對角線元素賦值,然后再為其它元素賦值。

      #include void main(void){

      int i,j;

      int a[6][6];

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

      {

      a[i][i] = 1;

      /* 主對角線為1 */

      a[i][0] = 1;

      /* 第1列為1 */

      }

      for(i=2;i<6;i++)

      for(j=1;j

      a[i][j] = a[i-1][j-1]+a[i-1][j];/* 計算 */

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

      {

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

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

      /* 輸出 */

      printf(“n”);

      /* 換行 */

      }

      } 或者

      #include #include #include

      int main(){

      int n,i,j;

      int a[20][20];

      printf(“please input one number:”);

      scanf(“%d”,&n);

      for(i=0;i

      {

      a[i][i]=1;

      a[i][0]=1;

      }

      for(i=2;i

      for(j=1;j

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

      for(i=0;i

      {

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

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

      printf(“n”);

      }

      return 0;}

      第二篇:西北農(nóng)林科技大學(xué) c語言上機(jī) 實習(xí)5答案

      實習(xí)五答案

      1、用指針實現(xiàn)排序

      /* exer 5-1 由鍵盤輸入 10個整數(shù),將它們按由小到大順序排列 */ #include void main(void){

      int a[10],*p = NULL;

      /* 說明數(shù)組和指針 */

      int i, j, temp;

      for(p = a;p < a + 10;p++)

      /* 指針從數(shù)組首到尾 */

      {

      scanf(“%d”, p);

      /* 利用指針依次輸入 */

      }

      p = a;

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

      /* 利用指針依次比較 */

      {

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

      if(*(p + i)> *(p + j))

      {

      temp = *(p + i);

      *(p + i)= *(p + j);

      *(p + j)= temp;

      }

      }

      for(p=a;p < a + 9;p++)

      printf(“%d ”, *p);

      printf(“%dn”, *p);}

      2、用指針實現(xiàn)字符串排序

      /*exer 5-2 將 10個長度小于20的字符串排序*/ #include #include void main(void){

      char szStr[10][20],*psz[10],szTemp[20];

      int i,j;

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

      {

      psz[i] = szStr[i];

      /*指針數(shù)組的每個元素指向各行串*/

      }

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

      {

      gets(psz[i]);

      /*輸入10個字符串*/

      }

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

      /*字符串排序*/

      {

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

      {

      if(strcmp(psz[i], psz[j])> 0)

      {

      strcpy(szTemp, psz[i]);

      strcpy(psz[i], psz[j]);

      strcpy(psz[j], szTemp);

      }

      }

      }

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

      {

      puts(psz[i]);

      /*輸出字符串*/

      } }

      3、數(shù)據(jù)倒置

      /*exer 5-3 將具有10個元素的一維數(shù)組中的數(shù)據(jù)倒置 */ #include void main(void){

      int a[10], iTemp, *p, *q;

      int i;

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

      {

      scanf(“%d”, a + i);

      /*輸入數(shù)組*/

      }

      p = a;

      q = a + 9;

      for(p = a, q = a + 9;p < q;p++, q--)

      /*首尾交換*/

      {

      iTemp = *p;

      *p = *q;

      *q = iTemp;

      }

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

      {

      printf(“%d ”, *(a + i));

      /*輸出*/

      } }

      4、用指針實現(xiàn)數(shù)據(jù)位置調(diào)整 /*exer 5-4 輸入 10個整數(shù),將最大的調(diào)到最后,最小的調(diào)到最前*/ #include

      void swap(int *px, int *py);

      int main(void){

      int a[10], iTemp, *pMax, *pMin;

      int i;

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

      {

      scanf(“%d”, a + i);/*輸入數(shù)組*/

      }

      pMax = a;

      /*最大值指針指向數(shù)組首地址*/

      pMin = a;

      /*最小值指針指向數(shù)組首地址*/

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

      {

      if(*(a+i)> *pMax)

      pMax = a + i;

      if(*(a+i)< *pMin)

      pMin = a + i;

      }

      /*最大值是第1個元素,最小值是最后一個元素*/

      if(pMax == a && pMin == a + 9)

      {

      swap(pMax, pMin);

      }

      else

      {

      /*最小值與第一個元素交換*/

      swap(a, pMin);

      /*最大值與最后一個元素交換*/

      swap(a + 9, pMax);

      }

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

      {

      printf(“%d ”, *(a + i));

      /*輸出*/

      }

      return 0;}

      void swap(int *px, int *py){

      int temp;

      temp = *px;

      *px = *py;

      *py = temp;}

      5、用指針實現(xiàn)查找二維數(shù)組中最大數(shù)及其位置

      /*exer 5-5 找出二維數(shù)組(設(shè)3行4列)中的最大數(shù)及其位置 */ #include void main(void){

      int a[3][4],(*p)[4], iCol, iRow;

      int i, j;

      p = a;

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

      {

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

      scanf(“%d”, *(p + i)+ j);

      /*輸入數(shù)組*/

      }

      iCol = 0;

      /*設(shè)最大數(shù)及其位置 */

      iRow = 0;

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

      {

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

      {

      if(*(*(p + i)+ j)> *(*(p + iRow)+ iCol))

      {

      iRow = i;

      iCol = j;

      /*修改位置*/

      }

      }

      }

      printf(“%d %d %dn”, iRow, iCol, a[iRow][iCol]);}

      6、用指針實現(xiàn)子字符串提取

      /*exer 5-6 由鍵盤輸入一串字符,從字符串下標(biāo)為m開始

      取出n個字符(m和n由鍵盤輸入),形成一個新的字符串

      */ #include #include void main(void){

      char szStrSour[80], szStrDest[80], *pszSour, *pszDest;

      int i, m, n;

      gets(szStrSour);

      /* 輸入字符串 */

      scanf(“%d%d”, &m, &n);

      /* 輸入位置和長度 */

      pszSour = szStrSour + m;

      /* 確定起始位置 */

      pszDest = szStrDest;

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

      /* 依次取n個字符 */

      {

      *pszDest = *pszSour;

      pszDest++;

      pszSour++;

      }

      *pszDest = '