了解湖南/長沙365体育备用网址資訊,從365投注平台開始!365bet官网報名365bet官网本科
您當前的位置:首頁 > 365bet官网考前練習

365体育备用网址“高級語言程序設計”經典習題及答案(22)

365体育备用网址“高級語言程序設計”經典習題及答案(22)

 

  3.閱讀下列程序,寫出程序運行的輸出結果。tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  char s[]=“ABCD”;tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  main()tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  { char * p;tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  for( p=s;p< s+4;p++) printf(“%s/n”, p);tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  }tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  “解]程序定義了一個字符數組s,由給它所賦的字符串初值知,該數組只有五個元素。程序另定義了字符指針變量p.循環開始時,先讓p指向數組的首元素。循環每次輸出以p所指字符為首字符的字符串,并讓它指向下一個字符。如此反復循環四次,所以程序輸出以下內容:tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  ABCDtEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  BCDtEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  CDtEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  DtEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  4.閱讀下列程序,試寫出程序運行的結果。tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  main()tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  {int i,b,c,a[]={1,10,-3,-21,7,13},*p_b,*p_c;tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  b=C=1;p_b=p_C= a;tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  for(i=0;i<6; i++)tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  { if(b<*(a+i)) {b=*(a+i); p_b=&a; }tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  if(c>*(a+i)) {c=*(a+i); p_c=&a; }tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  }tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  i=*a;*a=*p_b;*p_b=i;i=*(a+5);*(a+5)=*p_c;*p_c=i;tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  printf(“%d,%d,%d,%d,%d,%d/n”, a[O],a[1],a[2],a[3], a[4], a[5]);tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  }tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  “解]程序定義了一個整型數組。,由給它所賦的初值知,該數組有六個元素。程序另定義了三個整型變量i.b、C和兩個指針變量p_b.p_c.程序首先置變量b和C都為1,p_b和p_c都指向數組a 的首元素a[0].接著執行六次循環,循環體由兩個if語句。第一個if語句是當 b的值小于*(a+i)(就是a)時,將*(a+i)的值復制到b,并讓p_b指向a.這是在a中找最大值,將最大值存于b,最大值元素的指針存于指針變量p_b.第二個if語句是當c的值大于*(a+i)(就是a)時,將*(a+i) 的值復制到c,并讓p_c指向a.這是在a中找最小值,將最小值存于c,最小值元素的指針存于指針變量p_c.循環結束后的前三個語句實現最大元素與a[0]交換。接著三個語句是在已經過前面交換的基礎上,將最小元與a[5]交換。最后程序順序輸出數組a的六個元素。所以程序輸出內容是:tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  13, 10,-3, l, 7,-21.tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  若數組a的初值由輸入任意指定,上述程序對一種特殊情況不能完成功能的要求,即最小元素若是a[0],p_c所指元素已被移到p_b指針所指位置,實際與a[5]交換的不再是數組中的最小元素,而是最大元素。tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  5.4 程序設計題tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  1.輸人3個整數,按從大到小順序輸出。tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  “解”存儲輸入的三個整數可用三個簡單變量,也可用數組。設用三個簡單變量x,y,z存儲輸入的三個整數。另設若干個指針變量指向存儲輸入數據的變量。實現從大到小輸出三個整數有多種方案,如通過比較交換變量的值,多次比較交換使變量滿足條件x>=y>=z.這樣,變量的輸入值可能會與它的輸出值不一樣。如通過比較交換指針變量,當比較后發現要交換時,就交換變量的指針,而不交換變量的值,則在比較結束后,變量的值沒有改變,但從指針方向來看,它們的值是從大到小排列的。下面的程序就采用這種方案。tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  # includetEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  main()tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  { int x,y,z;tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  int *big=&x,*mid=&y,*sma=&z,/*置三個指針變量分別指向x,y, z*/tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  *temp;tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  printf(“Enter x,y,z./n”);tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  scanf(“%d%d%d”, big,mid,sma);/*順序為變量x,y,z輸入值*/tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  if(*big< *mid) {temp=big;big=mid; mid=temp; }tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  /*使*big>=*mid*/tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  if(*big<*sma) { temp=big;big=sma;sma=temp; }/*使*big>=*sma*/tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  if(*mid<*sma){temp=mid;mid=sma;sma=temp; }/*使*mid>=*sma*/tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  printf(“%d/t%d/t%d/n”, x,y,z);/*按輸入順序輸出x,y,z*/tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  printf(“%d/t%d/t%d/n”,*big,*mid,*sma);/*按從大到小的順序輸出*/tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  }tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  2.編一個程序,輸入15個整數存入一維數組,再按逆序重新存放后再輸出。tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  “解”輸入數組的元素,并重新顛倒存放后輸出。將存儲于數組中的元素顛倒存儲,只要首尾相對應的元素兩兩交換即可。若用指針實現,可讓一個指針p指向前端的元素,另一個指針q指向與前端元素對應的后端的元素。循環前,讓p指向數組的首元素,讓q指向數組的末元素。循環時,讓p和q所指兩個元素交換,并讓p增1,q減l.循環條件是p所指元素在前,q所指元素在后,即ptEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  # includetEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  main()tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  { int a[15],*p,*q, temp;tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  printf(“Enter 15 numbers./n”);tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  for(p=a;ptEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  scanf(“%d”, p);tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  for(p=a,q=a+14;ptEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  temp=*p; *p=*q;*q=temp;tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  }tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  for(p=a;ptEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  printf(“%d/t”,*p);tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  printf(“/n”);tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  }tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  3.輸入一個字符串,按相反的次序輸出其中的全部字符。tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  “解”要相反的次序輸出字符串的全部字符,可用一個字符指針變量,從指向字符串的本字符開始,逆序遍歷字符串,輸出指針所指字符即可。但為了讓字符指針指向字符串的末字符,若不用字符串處理庫函數,得用一個循環,讓它從字符串的首字符開始,順序移至字符串的結束標記符,然后倒退一個字符,就能讓它指向字符串的末字符。程序如下:tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  # includetEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  # define N 200tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  main()tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  { char s[N],*p;tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  printf(“Enter a string./n”);tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  scanf(“%s”, s);tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  for(p=s;*p; p++);tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  for(p——; p>=s; p——)tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  printf(“%c”,*p);tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  printf(“/n”);tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  }tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  4.輸入一個一維實型數組,輸出其中的最大值、最小值和平均值。tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  “解”設實型數組的元素個數n不超過20.程序輸入n,并用循環輸入數組的元素,再用循環遍歷數組,求出數組的最大值和最小值、數組元素的和。然后求出數組元素的平均值,最后輸出結果。程序如下:tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  # includetEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  # define N 20tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  main()tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  { double a[N],max,min,ave,*p, t;tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  int n;tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  printf(“Enter n(0tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  do{tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  scanf(“%d”,&n);tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  if(n>0 && n<20) break;tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  printf(“n值不合要求,請重新輸入!/n”);tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  } while(l);tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  printf(“輸入%d個實數/n”, n);tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  for(n=a;ntEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  scanf(“%lf”,&t);*p=t;tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  }tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  max=min=ave=*a;tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  for(p=p+l;ptEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  if(max<*p) max=*p;tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  if(min>*p) min=*p;tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  ave+=*p;tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  }tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  ave/=n;tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  printf(“最大值:%f/t最小值:%f/t平均值:%f/n”,max,min,ave);tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

  }tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

 tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

tEZ365投注平台_365bet官网本科_365bet官网報名_首頁

 

365体育备用网址“高級語言程序設計”經典習題及答案(22)

    365投注平台——致力于打造365投注平台第一網,以努力服務于廣大365bet官网學子、提供最全的365bet官网資訊為己任,發布365bet官网最新的新聞資訊,提供365bet官网專科365bet官网本科365bet官网報名365bet官网成績查詢等綜合信息

 

365bet官网
相關文章
    無相關信息
湖南365体育备用网址
365bet官网政策
365体育备用网址30年大事
365bet官网專業
365bet官网問答
名家訪談
365bet官网故事
365bet官网院校
365bet官网大綱
365体育备用网址復習方法
365体育备用网址筆記串講
365体育备用网址應試技巧
365bet官网真題
365bet官网就業
湖南論文指導
365bet官网實踐
365bet官网學位
365体育备用网址成績查詢
365体育备用网址考籍查詢
365体育备用网址學歷查詢


咨詢QQ:137847917
13548661633(微信同號)