第8周程式設計練習 nfuifbefe

2021-10-10 08:28:03 字數 3533 閱讀 9955

1輸出數字的英文名稱(20分)

題目內容:

編寫乙個函式,將表示數字的數值(0-12)轉換成對應的英文名稱(小寫)。使用者輸入阿拉伯數字,程式輸出對應數的英文單詞。要求必須使用指標陣列完成。

輸入格式:

0-12的數

輸出格式:

輸入數字對應的英文單詞,均為小寫字母

【提示】:函式格式: char * digitname(int n);

輸入樣例:

輸出樣例:

one

//輸出數字的英文名稱

#define _crt_secure_no_warnings

#include

#include

using

namespace std;

intmain()

;char

(*p)[10

]= str;

cout << p[n]

;return0;

}

2去除字串首尾多餘的空格(20分)

題目內容:

使用者輸入乙個字串,首尾有多餘的空格,編寫程式來去除這些多餘的空格。要求必須使用指標來完成本題。

輸入格式:

乙個首尾有多餘空格字串。為了便於標識出尾部的空格,在字串尾部額外新增了個#號表示字串結束。字串內部保證不會出現#號。

輸出格式:

去除空格後的字串,同樣在在字串尾部額外新增了個#號表示字串結束。

輸入樣例:

my score #

輸出樣例:

my score#

//去除字串首尾多餘的空格

#include

using

namespace std;

char

*deletespace

(char*)

;int

main()

char

*deletespace

(char

* s)

3遍歷二維陣列(20分)

題目內容:

使用者首先輸入兩個整數m和n,然後輸入mn個元素,建立乙個mn的二維陣列。要求使用 行指標 來遍歷這個二維陣列,輸出該陣列中所有元素的和。

輸入格式:

首先輸入兩個整數m和n,然後依次輸入m*n個元素

輸出格式:

二維陣列中所有元素的和

輸入樣例:

2 31 3 5

2 4 6

輸出樣例:

//動態申請大陣列

#include

using

namespace std;

int*

new_array

(int n)

;//該函式可以根據引數n動態申請n個元素的整型陣列,最後將陣列指標返回。

void

init_array

(int

* p,

int n,

int c)

;//將指定的n個元素的陣列每個元素的值均初始化為c。

intmain()

int*

new_array

(int n)

void

init_array

(int

* p,

int n,

int c)

5矩陣對角線元素之和(20分)

題目內容:

編寫函式,求n階方陣的對角線元素之和。編寫主程式,使用者輸入矩陣的階數n,動態申請n*n的儲存空間,再輸入n行、n列的元素,呼叫函式求矩陣的對角元素之和,在主函式中輸出這個和。設元素均為整數。n>=1。

函式格式:int sumdiagonal(int *a,int n);

輸入格式:

乙個正整數n,表示矩陣的階數。

n行、n列的矩陣元素。資料間用空格隔開。

輸出格式:

乙個整數

輸入樣例:

6 1 2

1 13 6

62 4 35

輸出樣例:

//矩陣對角線元素之和

#include

using

namespace std;

int*

*new_array

(int n)

;//動態申請n*n的空間

void

input

(int**

,int);

//輸入資料

intgetsum

(int**

,int);

//計算對角線元素之和

void

mydelete

(int**

,int);

//釋放空間

intmain()

int*

*new_array

(int n)

void

input

(int

** p,

int n)

intgetsum

(int

** p,

int n)

return sum;

}void

mydelete

(int

** p,

int n)

6(本題只記3分)十進位制點分ip轉換為32位二進位制ip(3分)

題目內容:

編寫程式,將十進位制點分的ip轉換為32位二進位制ip位址。程式要能驗證輸入的十進位制點分ip位址的合法性。使用者輸入的ip不和法時,輸出"data error"。

請使用模組化程式設計的思想,將功能模組編寫成函式。通過指標傳遞引數,運算元據,返回結果。在主函式中輸入ip位址,呼叫函式進行合法性驗證和轉換,在主函式中輸出32位二進位制ip。

輸入格式:

十進位制點分ip位址(英文句點)

輸出格式:

32位二進位制數(二進位制字串)

輸入樣例:

202.151.96.33

輸出樣例:

13/2=6…1(低位)

6/2=3…0

3/2=1…1

1/2=0…1

轉換後的二進位制數字1101

//十進位制點分ip轉換為32位二進位制ip

#include

using

namespace std;

intmain()

a[i]

= n;if(

*p ==

'.'&&

*(p +1)

=='.'

)break;if

(i ==3&&

*p !=0)

i++; p++;}

if(i ==4)

if(a[k]!=0

)}if(l ==0)

}else

cout <<

"data error"

<< endl;

return0;

}

程式設計入門 C語言 翁愷 第8周程式設計練習

你的程式要讀入一行文字,其中以空格分隔為若干個單詞,以 結束。你要輸出這行文字中每個單詞的長度。這裡的單詞與語言無關,可以包括各種符號,比如 it s 算乙個單詞,長度為4。注意,行中可能出現連續的空格。輸入在一行中給出一行文字,以 結束,結尾的句號不能計算在最後乙個單詞的長度內。在一行中輸出這行文...

測驗8 程式設計方法學 第8周

a 計算思維是邏輯思維的演進 b 計算思維關於設計和構造,可以脫離計算機而存在 c 計算思維是基於計算機的思維模式 d 計算思維從古至今一直存在 正確答案 c 計算思維是基於計算機的思維模式,計算機出現之前,由於沒有快速計算裝置,計算所反映的思維模式主要是數學思維,即通過公式來求解問題。當快速計算裝...

C和指標 程式設計練習 第8章

修改問題6 的array offset函式,使它訪問以列為主序的偽陣列,也就是最左邊的下標率先變化.這個新函式array offset2在其他方面與原先的那個函式一樣.例如 假定arrayinfo陣列包含了值3,4,6,1,5,3,3.這些值提示我們所處理的是三維偽陣列.第乙個下標範圍從4 到6 第...