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

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

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

 

  8.編一個程序,輸入一個整型數據,輸出每位數字,其間用遠號分隔。例如,輸入整數為2345,則輸出應為: 2, 3, 4, 5.lys365投注平台_365bet官网本科_365bet官网報名_首頁

  “解”程序的主要工作是從輸入整數分拆出它的十進制整數的各位數字,將分拆出來的各位數字存于數組中,然后將這些數字自高位到低位的順序逐位輸出。要將一個整數按十進制數的要求分拆,需用一個循環,每次循環求出被分拆數除以10的余數的辦法來求出它的個位,每分拆出一位就將被分拆的數除以10.循環過程直至被分拆的數為0結束。完整程序如下:lys365投注平台_365bet官网本科_365bet官网報名_首頁

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

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

  {int a[20],i,base=10;lys365投注平台_365bet官网本科_365bet官网報名_首頁

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

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

  scanf(“%d”, &n);/*整數輸入*/lys365投注平台_365bet官网本科_365bet官网報名_首頁

  i=0;/*對n進行分拆,各位數字自低位到高位存于數組 a*/lys365投注平台_365bet官网本科_365bet官网報名_首頁

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

  a[i++]=n% base;lys365投注平台_365bet官网本科_365bet官网報名_首頁

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

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

  for(i——;i>=0;i——)/*自高位到低位輸出*/lys365投注平台_365bet官网本科_365bet官网報名_首頁

  printf(“%d%c”,a, i? ‘,’ :“/n‘);lys365投注平台_365bet官网本科_365bet官网報名_首頁

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

  9.編一個程序,輸入一個字符串,將其中所有的大寫英文字母的代碼+3,小寫英文字母的代碼-3.然后輸出加密后的字符串。lys365投注平台_365bet官网本科_365bet官网報名_首頁

  “解”程序的主要工作是輸入字符串,并順序考察輸入字符率中的字符,分別對其中大小寫英文字母完成問題要求的更改,而跳過不是英文字母的字符。完整程序如下:lys365投注平台_365bet官网本科_365bet官网報名_首頁

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

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

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

  {char s[N]; int i;lys365投注平台_365bet官网本科_365bet官网報名_首頁

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

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

  for(i=0;s !=‘/0’; i++)lys365投注平台_365bet官网本科_365bet官网報名_首頁

  if(s >=‘A’ && s=‘Z’)lys365投注平台_365bet官网本科_365bet官网報名_首頁

  s=3;lys365投注平台_365bet官网本科_365bet官网報名_首頁

  else if(s=‘a’&& s=‘z’ )lys365投注平台_365bet官网本科_365bet官网報名_首頁

  s=3;lys365投注平台_365bet官网本科_365bet官网報名_首頁

  printf(“s=%s/n”,s);lys365投注平台_365bet官网本科_365bet官网報名_首頁

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

  10.編一個程序,將按第9題中加密的字符率(從鍵盤輸入)解密后輸出。lys365投注平台_365bet官网本科_365bet官网報名_首頁

  “解”本問題編寫的程序是完成上一程序的逆操作。同樣是順序考察輸入字符串,對滿足要求的字符作恢復更改。要求是當字符減3后是大寫英文字母時,則對其作減3處理的替換;當字符加3后是小寫英文字母時,則對它作加3的處理。如此做法是有錯誤的,程序未考慮原lys365投注平台_365bet官网本科_365bet官网報名_首頁

  先不是英文字母,而未被加3或減3處理,但對它減3或加3后是英文字母時,將被下面的程序轉換成英文字母。所以下面的程序不是完成上題程序的逆操作。但沒有簡單的辦法能避免這個錯誤。完整程序如下:lys365投注平台_365bet官网本科_365bet官网報名_首頁

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

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

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

  {char s[N]; int i;lys365投注平台_365bet官网本科_365bet官网報名_首頁

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

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

  for(i=0;s !=‘/0’;i++)lys365投注平台_365bet官网本科_365bet官网報名_首頁

  if(s-3>=‘A’&&s-3<=‘Z’)lys365投注平台_365bet官网本科_365bet官网報名_首頁

  s-=3;lys365投注平台_365bet官网本科_365bet官网報名_首頁

  else if(s+3>=‘a’ && s+3<= ‘Z’)lys365投注平台_365bet官网本科_365bet官网報名_首頁

  s+=3;lys365投注平台_365bet官网本科_365bet官网報名_首頁

  printf(“s=%s/n”,s);lys365投注平台_365bet官网本科_365bet官网報名_首頁

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

  5.1 單項選擇題lys365投注平台_365bet官网本科_365bet官网報名_首頁

  1.設有定義“int a=3, b,*p=&a;”,則下列語句中使 b不為3的語句是( )lys365投注平台_365bet官网本科_365bet官网報名_首頁

  ① b=* &a; ② b=* p;lys365投注平台_365bet官网本科_365bet官网報名_首頁

  ③ b=a; ④ b=*a;lys365投注平台_365bet官网本科_365bet官网報名_首頁

  “解”定義有 int a=3, b,*p=&a;對b賦值的表達式有*&a、*p、a 、*a.引用變量。的值有兩種方法,一是直接引用a,二是通過a的指針間接引用a.對于后者,又有多種表達方法,通過指向a的指針p,間接引用a的內容,如*p.或通過求地址運算符由變量a得到其指針&a,再由這指針表達式間接引用 a的內容,如* &a.所以表達式*&a、*p和a都能引用變量a的值,而使b的值為3.而表達式。a是錯誤的,因為a不是指針變量,不能對它施行取內容運算符……所以解答是④。lys365投注平台_365bet官网本科_365bet官网報名_首頁

  2 .設指針x指向的整型變量值為萬,則“printf(”%d/n“,++ *x);”的輸出是( )lys365投注平台_365bet官网本科_365bet官网報名_首頁

  ① 23 ② 24 ③ 25 ④ 26lys365投注平台_365bet官网本科_365bet官网報名_首頁

  “解”若指針變量x指向某個變量,例如指向變量v,并且變量v的值是25,則表達式++ *x的值是26.這是因為表達式的計算順序可加圓括號表達成(++(*x)),首先是*x,是對X所指變量V的引用,所以++ *X就是++V.++V是先讓變量V增1,并以增至后的V的值為表達式++V的結果,所以其值是 26.所以解答是④。lys365投注平台_365bet官网本科_365bet官网報名_首頁

  3.若有說明:“ int i,j= 7,*p=&i;”,則與“ i=j;”等價的語句是( )lys365投注平台_365bet官网本科_365bet官网報名_首頁

  ①i=*p; ②*P=* &j;lys365投注平台_365bet官网本科_365bet官网報名_首頁

  ③i==&j; ④i=* *p;lys365投注平台_365bet官网本科_365bet官网報名_首頁

  “解”指針變量 p指向變量i時,表達式i=*p等價于 i=i;表達式*p=*&j等價于i=j;而表達式i=&j企圖將整型變量的指針賦給整型變量,這是錯誤的;表達式i=* *p也是一種錯誤的表達式。p是指針,*p是p所指變量j,* *p是企圖將整型變量j當作指針,并想通過j間接引用某個變量。所以解答是②。lys365投注平台_365bet官网本科_365bet官网報名_首頁

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

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

 

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

    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(微信同號)