欧美色欧美亚洲高清在线观看,国产特黄特色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語(yǔ)言上機(jī)實(shí)習(xí)5答案[共五篇]

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

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

      實(shí)習(xí)五答案

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

      /* exer 5-1 由鍵盤輸入 10個(gè)整數(shù),將它們按由小到大順序排列 */ 用指針實(shí)現(xiàn):由鍵盤輸入10個(gè)整數(shù),將他們按由小到大的順序排列。

      輸入: 鍵盤輸入的10個(gè)整數(shù)。

      輸出: 按由小到大的順序排列。

      輸入樣例: 1 5 4 3 2 9 23 11 5 7 輸出樣例: 1 2 3 4 5 5 7 9 11 23

      #include void main(void){

      int a[10],*p = NULL;

      /* 說(shuō)明數(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、用指針實(shí)現(xiàn)字符串排序

      /*exer 5-2 將 10個(gè)長(zhǎng)度小于20的字符串排序*/ 用指針實(shí)現(xiàn):將10個(gè)字符串(設(shè)其長(zhǎng)度小于20)從小到大排序。

      輸入: 10個(gè)字符串。

      輸出: 排序后的10個(gè)字符串。

      輸入樣例: ijk jkl def ghi

      def cde hij def efg fgh

      輸出樣例: cde def def def efg fgh ghi hij ijk jkl

      提示:

      ① 定義二維字符數(shù)組和指向該數(shù)組的指針數(shù)組;

      ② 用循環(huán)使指針數(shù)組的元素指向二維字符數(shù)組各行首;

      ③ 用循環(huán)為指針數(shù)組元素賦字符串為值;

      ④ 用strcmp函數(shù)比較兩個(gè)指針數(shù)組元素的值、用strcpy函數(shù)交換兩個(gè)指針數(shù)組元素的值。

      #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ù)組的每個(gè)元素指向各行串*/

      }

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

      {

      gets(psz[i]);

      /*輸入10個(gè)字符串*/

      }

      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個(gè)元素的一維數(shù)組中的數(shù)據(jù)倒置 */ 描述: 用指針實(shí)現(xiàn):將具有10個(gè)元素的一維數(shù)組中的數(shù)據(jù)倒置

      輸入: 10個(gè)元素。3 4 5 6 7 8 9

      輸出樣例: 9 8 7 6 5 4 3 2 1 0

      提示: 數(shù)據(jù)倒置是指將數(shù)組前后元素的值交換后再輸出。

      #include void main(void){

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

      int i;

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

      {

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

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

      }

      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、用指針實(shí)現(xiàn)數(shù)據(jù)位置調(diào)整

      /*exer 5-4 輸入 10個(gè)整數(shù),將最大的調(diào)到最后,最小的調(diào)到最前*/ 描述: 用指針實(shí)現(xiàn):由鍵盤輸入10個(gè)整數(shù),將最大的調(diào)到最后,最小的調(diào)到最前。輸入: 10個(gè)整數(shù)。

      輸出: 最大的調(diào)到最后,最小的調(diào)到最前。

      輸入樣例: 5 8 7 6 9 4 3 2 1 0 輸出樣例: 0 8 7 6 5 4 3 2 1 9

      #include

      輸入樣例: 0 1 2

      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個(gè)元素,最小值是最后一個(gè)元素*/

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

      {

      swap(pMax, pMin);

      }

      else

      {

      /*最小值與第一個(gè)元素交換*/

      swap(a, pMin);

      /*最大值與最后一個(gè)元素交換*/

      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、用指針實(shí)現(xiàn)查找二維數(shù)組中最大數(shù)及其位置

      /*exer 5-5 找出二維數(shù)組(設(shè)3行4列)中的最大數(shù)及其位置 */ 用指針實(shí)現(xiàn):找出二維數(shù)組(設(shè)3行4列)中的最大數(shù)及其位置。

      輸入: 二維數(shù)組(設(shè)3行4列)。

      輸出: 最大數(shù)及其位置。

      輸入樣例:2 5 4 6 8 7 2 0 2 4 5

      輸出樣例: 1 1 8

      #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]);}

      或者

      #include #include

      int main(){

      int a[3][4];

      int m,n,i,j;

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

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

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

      m=0;

      n=0;

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

      {

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

      {

      if(a[i][j]>a[m][n])

      {

      m=i;

      n=j;

      }

      }

      }

      printf(“%d %d %dn”,m,n,a[m][n]);}

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

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

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

      */ 用指針實(shí)現(xiàn):由鍵盤輸入一串字符,從下標(biāo)為m的字符開始,取出n個(gè)字符(m和n由鍵盤輸入),形成一個(gè)新的字符串。輸入: 鍵盤輸入一串字符。

      輸出: 從下標(biāo)為m的字符開始,取出n個(gè)字符(m和n由鍵盤輸入),形成一個(gè)新的字符串。輸入樣例: 0123456 5 2 輸出樣例: 56 提示: ① 定義二個(gè)字符數(shù)組zfsour[100]、zfdest[100],zfsour存放原串,zfdest存放新串;

      ② 定義二個(gè)指針變量*pzfsour、*pzfdest; zfsour字符數(shù)組的首地址;

      ③ 從鍵盤輸入取字符的開始位置m(即下標(biāo)值)和要取的字符個(gè)數(shù)n;

      ④ 讓指針變量pzfsour指向zfsour+m處,讓pzfdest指向zfdest字符數(shù)組的首地址;

      ⑤ 通過(guò)n次循環(huán),逐次賦值、移動(dòng)指針,即將原串中的n個(gè)字符存到新串字符數(shù)組中。

      #include #include void main(void)

      {

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

      int i, m, n;

      gets(szStrSour);

      /* 輸入字符串 */

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

      /* 輸入位置和長(zhǎng)度 */

      pszSour = szStrSour + m;

      /* 確定起始位置 */

      pszDest = szStrDest;

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

      /* 依次取n個(gè)字符 */

      {

      *pszDest = *pszSour;

      pszDest++;

      pszSour++;

      }

      *pszDest = '