2019春第七周作業

2022-05-18 13:21:06 字數 4028 閱讀 4278

這個作業屬於哪個課程

c語言程式設計ii

這個作業要求在哪

2023年春第七周作業

我在這個課程的目標是

掌握陣列名作為函式引數的用法,理解指標、陣列和位址之間的關係,理解指標和陣列可以實現相同的操作。

這個作業在哪個具體方面幫助我實現目標

通過pta作業實踐程式設計學習

參考文獻

c語言程式設計

基礎作業

1.函式題:6-2 每個單詞的最後乙個字母改成大寫 (10 分)

函式fun的功能是:將p所指字串中每個單詞的最後乙個字母改成大寫。(這裡的「單詞」是指由空格隔開的字串)。

void fun( char *p );
其中 p 是使用者傳入的引數。函式將 p所指字串中每個單詞的最後乙個字母改成大寫。

#include void fun( char *p );

int main()

/* 請在這裡填寫答案 */

1).實驗**
void fun( char *p )

p++;

}}

2).設計思路

第一步:用while迴圈,迴圈條件為p!=0。

第二步:判斷(p+1)即指標所指後面乙個字元是否為空格,如果是,則進行第三步。

第三步:用p=p-'a'+'a';將小寫字母改為大寫字母。

第四步:p++後移指標,回到第一步。

3).本題除錯過程碰到的問題以及解決辦法

通過李代傳同學的指導,第五行的*p不需要用單引號,去掉後答案正確。

4).執行結果截圖

2.程式設計題:7-2 自動售貨機 (30 分)

如圖所示的簡易自動售貨機,物品架1、2上共有10樣商品,按順序進行編號分別為1-10,標有**與名稱,乙個編號對應乙個可操作按鈕,供選擇商品使用。如果物架上的商品被使用者買走,儲物櫃中會自動取出商品送到物架上,保證物品架上一定會有商品。使用者可以一次投入較多錢幣,並可以選擇多樣商品,售貨機可以一次性將商品輸出並找零錢。

使用者購買商品的操作方法是:

(1)從「錢幣入口」放入錢幣,依次放入多個硬幣或紙幣。錢幣可支援1元(紙幣、硬幣)、2元(紙幣)、5元(紙幣)、10元(紙幣),放入錢幣時,控制器會先對錢幣進行檢驗識別出幣值,並統計幣值總額,顯示在控制器顯示屏中,提示使用者確認錢幣放入完畢;

(2)使用者確認錢幣放入完畢,便可選擇商品,只要用手指按對應商品外面的編號按鈕即可。每選中一樣商品,售貨機控制器會判斷錢幣是否足夠購買,如果錢幣足夠,自動根據編號將物品進行計數和計算所需錢幣值,並提示餘額。如果錢幣不足,控制器則提示「insufficient money」。使用者可以取消購買,將會把所有放入錢幣退回給使用者。

先輸入錢幣值序列,以-1作為結束,再依次輸入多個購買商品編號,以-1結束。

輸出錢幣總額與找回零錢,以及所購買商品名稱及數量。

1 1 2 2 5 5 10 10 -1

1 2 3 5 1 6 9 10 -1

total:36yuan,change:19yuan

table-water:2;table-water:1;table-water:1;milk:1;beer:1;oolong-tea:1;green-tea:1;

1).實驗**

#include int main()

while(goods!=-1)

if(odd_money<0)

} if(odd_money>=0)

} }}return 0;

}

2).設計思路

第一步:用while迴圈輸入money的值,當輸入-1時跳出迴圈進行下一步,當輸入的不為-1時將輸入的值加到變數sum_money中表示總額,並將sum_money的值賦到odd_money表示餘額。

第二步:用while迴圈輸入goods的值表示選擇的商品,當輸入-1時跳出迴圈進行下一步,用switch語句判斷本次迴圈應該進行的運算,定義乙個陣列記錄商品選擇的次數。如果本次運算結束後餘額odd_money小於0,則輸出insufficient money。

第三步:如果餘額odd_money大於0,則輸出總額sum_money和餘額odd_money,並用for迴圈實現逐個呼叫陣列中的元素,當所呼叫的元素不為0,則用switch語句判斷本次迴圈應該輸出的內容。

3).本題除錯過程碰到的問題以及解決辦法

第7行的scanf("%d",&money);應放在第8行sum_money=sum_money+money;odd_money=sum_money;後面,否則會把最後輸入的-1也算進去。

在dev-c++上是對的,嘗試賦初始值,即在第5行int money,sum_money,odd_money,goods,i,count[11];前加static使定義的各變數初始值為0,之後答案正確。

4).執行結果截圖

預習作業

7-1#使用函式刪除字串中的字元 (10 分)

輸入乙個正整數 repeat (01).實驗**

#include#includevoid delchar(char *str,char *c);

int main()

{ int repeat,i,j,d; static char c,str[100];

scanf("%d",&repeat);

for(i=0;i2).設計思路

第一步:輸入repeat的值。

第二步:用for迴圈控制迴圈次數,用scanf語句輸入字串到字串陣列中,再用scanf語句輸入字元到字元變數中。

第三步:定義函式:用strlen函式得出字串長度並記錄在乙個整型變數中,用for迴圈控制迴圈次數,當指標所指字元不為上一步輸入的字元時,輸出所指的字元,每次迴圈都要將指標後移。

3).本題除錯過程碰到的問題以及解決辦法

4).執行結果截圖

挑戰作業

思路:

周/日期

這週所花的時間

**行學到的知識點簡介

目前比較迷惑的問題

3/2-3/8

2h23行陣列無

3/9-3/11

3h29行

讀取檔案資料

無3/12-3/18

5h70行

用陣列輸出矩陣

無3/19-3/25

8h140行

多種排序方法

無3/26-4/1

5h82行

字元(串)陣列的相關知識

無4/2-4/8

2h63行

指標的相關知識

無4/9-4/15

10h90行

指標的相關知識

無這週學習了指標的相關知識,新知識的學習提公升了我的能力,以後可以更有效率的解決問題了,遇到的困難要善於尋求幫助,問題不解決就永遠都是問題。

2019春第七周作業

這個作業屬於那個課程 c語言程式設計ii 這個作業要求在 我在這個課程的目標是 在程式設計過程中能熟練使用指標 這個作業在那個具體方面幫助我實現目標 本次作業需要通過指標來進行一些的運算 參考文獻 c語言程式設計 函式fun的功能是 將p所指字串中每個單詞的最後乙個字母改成大寫。這裡的 單詞 是指由...

2019春第七周作業

這個作業屬於那個課程 c語言程式設計ii 課程名稱 c語言程式設計2 作業要求 我的課程目標 我希望通過c語言的學習,更加熟練的使用指標和陣列。這個作業在哪個方面幫助我實現目標 做作業唄。參考文獻 課本c語言程式設計 函式fun的功能是 將p所指字串中每個單詞的最後乙個字母改成大寫。這裡的 單詞 是...

2019第七周作業

課程名稱 c語言程式設計2 作業要求 我的課程目標 學習指標基本知識 這個作業在哪個方面幫助我實現目標 指標與自定義函式結合刪除或修改字串中的字元 參考文獻 課本c語言程式設計指標章 先輸入錢幣值序列,以 1作為結束,再依次輸入多個購買商品編號,以 1結束。輸出錢幣總額與找回零錢,以及所購買商品名稱...