日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2019第七次作业

發布時間:2024/3/12 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2019第七次作业 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作業頭

基礎題1

6-2 每個單詞的最后一個字母改成大寫 (10 分)

函數fun的功能是:將p所指字符串中每個單詞的最后一個字母改成大寫。(這里的“單詞”是指由空格隔開的字符串)。

函數接口定義:

void fun( char *p );

其中 p 是用戶傳入的參數。函數將 p所指字符串中每個單詞的最后一個字母改成大寫。

裁判測試程序樣例:

#include <stdio.h> void fun( char *p ); int main() {char chrstr[64]; int d ;gets(chrstr);d=strlen(chrstr) ;chrstr[d] = ' ' ;chrstr[d+1] = 0 ;fun(chrstr);printf("\nAfter changing: %s\n", chrstr); return 0; }/* 請在這里填寫答案 */

輸入樣例:

my friend is happy

?

輸出樣例:

After changing: mY frienD iS happY


一、實驗代碼

void fun( char *p ) {int i;for(i=0;p[i]!='\0';i++){if(p[i]==' ')p[i-1]-=32;} }

二、設計思路

?

三、錯誤截圖

問題:理解不了p[i-1]-=32的含義。

解決方法:它是一個小寫字母換成大寫的步驟。

四、運行截圖

基礎題二

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;
一、實驗代碼 #include<stdio.h> int main(void) {char a[10][20] = {"Table-water","Table-water","Table-water","Coca-Cola","Milk","Beer","Orange-Juice","Sprite","Oolong-Tea","Green-Tea"};int b[11] = {0,0,0,0,0,0,0,0,0,0,0};int choice[50];int i=1, sum = 0, money,sum_d = 0, change, flag=0;scanf("%d",&money);while((money!=-1)&&(money <= 10)) {sum = sum + money;scanf("%d",&money); }scanf("%d",&choice[i]);while(choice[i]!=-1) {switch(choice[i]) { case 1:sum_d = sum_d + 1;break; case 2:sum_d = sum_d + 1;break;
case 3: sum_d = sum_d + 1;break;case 4:sum_d = sum_d + 2;break;
case 5: sum_d = sum_d + 2;break;case 6: sum_d = sum_d + 3;break;
case 7: sum_d = sum_d + 3;break;case 8: sum_d = sum_d + 3;break; case 9: sum_d = sum_d + 4;break;case 10: sum_d = sum_d + 4;break; default:break; } change = sum-sum_d;if(change<0) {printf("Insufficient money"); flag = 1;return 0; }i++;scanf("%d",&choice[i]); }i = 1;while(choice[i]!=-1) {switch(choice[i]) { case 1: b[1]++;break; case 2: b[2]++;break; case 3: b[3]++;break; case 4: b[4]++;break; case 5: b[5]++;break; case 6: b[6]++;break; case 7: b[7]++;break; case 8: b[8]++;break; case 9: b[9]++;break; case 10: b[10]++;break; default:break; }i++; } if(flag==0) {printf("Total:%dyuan,change:%dyuan\n",sum, change); for(i=1; i<=10; i++) { if(b[i]==0) continue; elseprintf("%s:%d;",a[i-1],b[i]); } } return 0; }

二、設計思路

三、錯誤截圖

問題:在switch的語句的時候,break跳出位置發生錯誤。

解決方法:break跳出應該放在下一次循環前面。

四、運行截圖

?預習題

7-1 使用函數刪除字符串中的字符 (10 分)

輸入一個正整數 repeat (0<repeat<10),做 repeat 次下列運算:

輸入一個字符串 str,再輸入一個字符 c,將字符串 str 中出現的所有字符 c 刪除。

要求定義并調用函數delchar(str,c), 它的功能是將字符串 str 中出現的所有 c 字符刪除,函數形參str的類型是字符指針,形參c的類型是char,函數類型是void。

輸入輸出示例:括號內為說明,無需輸入輸出

輸入樣例:

3 (repeat=3) happy new year (字符串"happy new year") a (待刪除的字符'a') bee (字符串"bee") e (待刪除的字符'e') 111211 (字符串"111211") 1 (待刪除的字符'1')

輸出樣例:

result: hppy new yer (字符串"happy new year"中的字符'a'都被刪除) result: b (字符串"bee"中的字符'e'都被刪除) result: 2 (字符串"111211"中的字符'1'都被刪除)
一、實驗代碼 #include<stdio.h> void delchar(char *str, char c); int main(void) {int repeat,i;char str[100],c;scanf("%d\n",&repeat);for(i=1;i<=repeat;i++){gets(str);c=getchar();delchar(str,c);printf("result: %s\n",str);}return 0; } void delchar(char *str, char c) {int j,k=0;for(j=0;str[j]!='\0';j++){if(str[j]!=c){str[k]=str[j];k++;}}str[k]='\0'; }

二、設計思路

三、錯誤截圖

問題:不能理解? str[k]=str[j]這一步。

解決方法:它是將字符串 str 中出現的所有 c 字符刪除的一個步驟。

四、運行截圖

學習進度條

?

折線圖

學習感悟

我覺得班上組織的結隊編程這個方法很好,把一些思想上想學習但是行動上不想學習的人給強制去學習了,我想班上大部分人是處于這個位置,就我而言,我的搭檔是一位非常優秀的人,也樂于幫助提高我的知識。

?

?

?

?

?

?

轉載于:https://www.cnblogs.com/JokerXue/p/10685948.html

總結

以上是生活随笔為你收集整理的2019第七次作业的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。