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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

2019春第七周作业

發布時間:2024/3/12 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2019春第七周作业 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這個作業屬于那個課程C語言程序設計II
這個作業要求在哪里要求我們掌握指針,可以更好的運用它
我在這個課程的目標是?學懂C語言,會編程一些簡單的小應用
這個作業在那個具體方面幫助我實現目標?這個作業讓我更了解怎樣運用指針
參考文獻 博客園

?

?

?

?

基礎作業一

函數題:每個單詞的最后一個字母改成大寫

函數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

1)我的代碼
void fun(char *p) {int i;for(i=0;p[i]!='\0';i++){if(p[i]!=' '&&p[i+1]==' ') //如果第p[i]個字符不是空格,p[i+1]個是空格,可判斷p[i]是單詞中最后一個字母
p[i]
=p[i]-32;} }
2)流程圖
3)本題調試過程中遇到的問題及解決辦法
本題不難,沒問題

?

?

?

?

基礎作業二

程序題:自動售貨機

如圖所示的簡易自動售貨機,物品架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<stdio.h> int main() {int sum,pay,change,yuan,i;int b[80];static int goods[10];sum=pay=change=0;scanf("%d",&yuan);while(yuan!=-1)//輸入錢幣值序列,以-1作為結束
{
??????? sum+=yuan;
scanf("%d",&yuan),
for(i=0;b[i-1]!=-1;i++)//輸入多個購買商品編號,以-1結束 {scanf("%d",&b[i]);}char name[10][20]={"Table-water","Table-water","Table-water","Coca-Cola","Milk","Beer","Orange-Juice","Sprite","Oolong-Tea","Green-Tea"};//利用二維數組儲存商品名稱for(i=0;b[i]!=-1;i++)//輸入多個購買商品編號,以-1結束 {switch(b[i])//利用switch語句選擇要購買的商品 {case 1: goods[0]++;pay+=1;break;case 2: goods[1]++;pay+=1;break;case 3: goods[2]++;pay+=1;break;case 4: goods[3]++;pay+=2;break;case 5: goods[4]++;pay+=2;break;case 6: goods[5]++;pay+=3;break;case 7: goods[6]++;pay+=3;break;case 8: goods[7]++;pay+=3;break;case 9: goods[8]++;pay+=4;break;case 10: goods[9]++;pay+=4;break;//goods++計算該商品購買的件數,pay+=累計所花的錢 }}
if
??????? printf("Insufficient money");//錢不足
else(sum>pay){printf("Total:%dyuan,change:%dyuan\n",sum,sum-pay);for(i=0;i<10;i++)
{
if(goods[i]!=0)printf("%s:%d;",name[i],goods[i]);//輸出結果 } } return 0; }
2)流程圖
3)本題調試過程中遇到的問題及解決辦法
問題:不知怎么輸出多個商品名稱
解決辦法:利用之前學的二維數組,把商品變量儲存起來,再輸出
4)運行結果截圖




預習題

函數題: 使用函數刪除字符串中的字符

輸入一個正整數 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'都被刪除)

1)代碼
#include<stdio.h> void delchar (char *p,char ch);//聲明函數 int main (void) {int i,repeat;char str[1000];char a,ch;scanf("%d",&repeat); for(i=1;i<=repeat;i++){scanf("%c",&a);//當然你輸入字符時會點回車鍵,而回車鍵也是字符gets(str);//輸入字符串scanf("%c",&ch);//輸入要刪除的字符printf("result: ");delchar(str,ch);//調用函數 }return 0; } void delchar (char *p,char ch) {for(;*p!='\0';p++){if(*p!=ch)//如果該字符與要刪除的字符不同,輸出該字符printf("%c",*p);}printf("\n"); }
2)流程圖
3)本題調試過程中遇到的問題及解決辦法
問題一:循環次數不對
  解決辦法:忽略了輸入運行所需的字符屏幕上我們按的回車鍵也是字符,所以我們應該在循環語句中多寫一個輸入字符代碼
4)運行結果截圖





?第二周第三周第四周第五周第六周?第七周

字數

548661114512421771541
代碼行數3755100545088


學習進度條
日期花的時間行數頁碼學到的知識日期的疑惑
3/1-3/74個小時148-155

數組的定義與運用

3/9-3/154個小時298-303

文件定義和文件數據的處理

3/18-3/224個小時155-165

一維數組的排序方法

二維數組的運用

3/23-3/28四個小時?166-172?字符串的儲存方法,和字符串的運用?將字符串改成十進制輸出
3/29-4/5四個小時?180-186?掌握了指針的定義,基本運算等?指針的初始化還不太懂
?4/6-4/12四個小時186-190加強對指針的掌握,利用指針進行編程指針指向數組的運用還是不太懂



學習總結 這周的題目不多不少,但是很難,尤其是基礎題的第二題,編程起來很復雜,代碼很長;本周沒有學習太多新知識,本周最難的內容是在運用指針的基礎上,加上了數組的運用;這個內容我在寫這周作業之前還是懵懂的,寫完作業后,我對這個內容了解更深入了;因為我為了完成作業,我翻了各種資料,鞏固和彌補了我這周所學習的知識





轉載于:https://www.cnblogs.com/hunan-hengyang/p/10699103.html

總結

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

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