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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

2019春第五周作业

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

這個作業屬于哪個課程C語言程序設計
這個作業的要求在哪里(https://edu.cnblogs.com/campus/zswxy/software-engineering-class2-2018/homework/2824)
我在這個課程的目標是了解字符數組與字符串的區別,學習字符串的輸入輸出格式,預習指針
這個作業在哪個具體方面幫助我實現目標讓我了解了字符數組與字符串的區別,知道了數組的復制方法
參考文獻C語言數組的復制

一.基礎作業

7-1 英文單詞排序 (25 分)

本題要求編寫程序,輸入若干英文單詞,對這些單詞按長度從小到大排序后輸出。如果長度相同,按照輸入的順序不變。
輸入格式:
輸入為若干英文單詞,每行一個,以#作為輸入結束標志。其中英文單詞總數不超過20個,英文單詞為長度小于10的僅由小寫英文字母組成的字符串。
輸出格式:
輸出為排序后的結果,每個單詞后面都額外輸出一個空格。
輸入樣例:

blue red yellow green purple #

輸出樣例:

red blue green yellow purple

1)文件代碼

#include<stdio.h> #include<string.h> #include<stdlib.h> int main() {FILE *fp;//定義文件指針 char str[21][11],b[11];int i=0;//打開文件if((fp=fopen("E:\\Liuwei.txt","a+"))==NULL){exit(0);} //文件處理for(i=0;i<21;i++){fscanf(fp,"%s",str[i]);if (str[i][0]=='-')break;}int z=i;//將每個單詞排序 for(int m=0;m<z;m++){for(int n=0;n<z-m-1;n++){if(strlen(str[n])>strlen(str[n+1])){strcpy(b,str[n]);strcpy(str[n],str[n+1]);strcpy(str[n+1],b);}}}//寫入文件 for(int m=0;m<z;m++){if(m==0){fprintf(fp,"\n");}fprintf(fp,"%s ",str[m]);}//關閉文件if(fclose(fp)){exit(0);} return 0; }

2)設計思路

3)本題調試過程中遇到的問題及解決辦法


問題:不知道怎樣計算每個單詞的長度,用getchar()方法輸入太復雜。
解決辦法:看了網友的代碼,看懂后發現有好簡單代碼可以用,如數組長度計算代碼strlen和字符串復制代碼strcpy,只是自己不知道,搞懂后我用自己的方法做了出來。

4)運行結果


7-1 統計一行文本的單詞個數 (15 分)

本題目要求編寫程序統計一行字符中單詞的個數。所謂“單詞”是指連續不含空格的字符串,各單詞之間用空格分隔,空格數可以是多個。
輸入格式:
輸入給出一行字符。
輸出格式:
在一行中輸出單詞個數。
輸入樣例:

Let's go to room 209.

輸出樣例:

5

1)程序代碼

#include<stdio.h> int main() {char str[1000];int k=0,q=0;//賦值以'\n'結尾 //gets 是讀取換行符的,不過它會把換行符轉換為'\0'gets(str);while(str[k]!='\0'){k++;}//該賦值的結果為str[k]=='\0',所以for循環判斷i<=k才能將'\0'包括進去 for(int i=1;i<=k;i++){//只要前面不是空格,后面是空格就一定有一個單詞 if(str[i-1]!=' '&&str[i]==' '){q++; }//若'\n'之前不以空格結尾,則上面的判斷就少加一個單詞。 if(str[i-1]!=' '&&str[i]=='\0'){q++;}}printf("%d",q);return 0;}

2)設計思路

3)本題調試過程中遇到的問題及解決辦法


問題:一開始我也不知道怎么在pta上過不了,總覺得代碼沒有問題。
解決辦法:看了網友的代碼,我跟他們的代碼大同小異,就是定義的數組空間我的是100,他們的是1000,我改成1000后就過了,看了是我的數組空間定義小了

4)運行結果

二.預習題

1.預習的主要內容

1.指針變量的定義
2.指針的基本運算
3.指針變量的初始化
4.指針和地址

2.完成情況截圖



3.預習中存在的疑惑

1.二級指針**p怎么理解和運用
2.指針和函數參數的關系
3.指針不能靈活運用,現在感覺指針的用處好像不大。

三.學習進度條


周/日期這周所花的時間代碼行學到的知識點簡介目前比較迷惑的問題
2/25-3/36h30一維數組的定義和引用及初始化字符數組和整型數組的區別
3/4-3/1012h60指針的定義及運用;文件的讀取、寫入, 處理和開關;文件的打開方.文件的分類,什么是文本文件, 什么是二進制文件;字符數組的讀取和寫入
3/11-3/176h30二維數組的定義及應用二維數組的行和列的嵌套循環輸入和輸出
3/18-3/2412h60選擇排序法、冒泡排序法和二分查找法不清楚選擇排序法和冒泡排序法的區別
3/25-3/3120h60字符數組和字符串的區別,字符串的輸入輸出方式和格式,二維數組更高級的運用。不清楚指針在程序中的作用

四.學習感悟

感覺這次作業比較難,我也是借鑒了網友的答案才做出來的,特別是英文單詞排序,我發現有好多知識點我不知道,所以做起題目來就感覺很困難,覺得以后要多上網多了解C語言的知識,增強自己的編程能力,以后做題目才會得心應手。

五.結對編程感想

自己不懂的可以問對方,兩個人合作做起題目來更容易,也更有干勁,取他人之長補己之短,能快速增強自己的專業能力,也能夠增強自己的溝通交流能力,一舉兩得。

轉載于:https://www.cnblogs.com/liu2687479342/p/10623240.html

總結

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

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