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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

C语言 输入一行字符,统计其中有多少个单词 和 有三个字符串(网上找的代码有瑕疵已解决),找出其中最大者的完整代码及分析过程

發布時間:2024/1/18 编程问答 37 豆豆

問題1:輸入一行字符,統計其中有多少個單詞

思考這一類問題的常用解決方法是什么?是這種形式的:
------》最終完整的代碼:《------

#include <stdio.h> // isalpha()用到的庫。用來判斷一個字符是否是英文字母。 #include <ctype.h> #define OUT 0 #define IN 1// 返回字符串的單詞數 unsigned countWords(char *str) {int state = OUT;unsigned wc = 0; // 單詞數默認為0// 遍歷字符串str的所有字符while (*str){// 如果下一個字符是單詞的分割符則設置狀態為OUTif (*str == ' ' || *str == '\n' || *str == '\t')state = OUT;// 如果下一個字符不是單詞的分隔符且狀態為OUT且是英文字母,則將狀態設置為IN并增加單詞計數else if ((state == OUT)&& isalpha(*str)){state = IN;printf("\n打印第%u單詞:%c%c%c%c%c\n",wc+1,*str,*(str+1),*(str+2),*(str+3),*(str+4),*(str+5));++wc;}// 移動到下一個字符++str;}return wc; }// 編程實現代碼 int main(void) {char str[] = "One two 222 @@@ 333 three\n four\t five six ";//注意我這是單詞之間是2個空格的案例printf("\nThere are %u words\n", countWords(str));return 0; }


可以看到:
示例
char str[] = "One two 222 @@@ 333 three\n four\t five six ";
最終只有 One two three four five six 這6個單詞打印了出來。
像222 @@@ 333不是單詞,所以單詞數是6。
你可以加 444測試,例如
char str[] = "One two 222 @@@ 333 444 three\n four\t five six ";
單詞數仍然是6。(我已經試過了)

眼睛看一眼以下注釋:

//我這是方便你直觀地閱讀感受程序的效果添加的一行,其實可不要,因為看起來笨了點哈哈//你把我的代碼原封不動調試完后把這行代碼刪了,或注釋掉。//然后你自己把char str[] = "你自己測試的字符串"//或者用gets()接受字符串//我這也好長時間沒寫c代碼的,怎么簡單就怎么來,期待后面的后浪們優化程序哈哈//printf("\n打印第%u單詞:%c%c%c%c%c\n",wc+1,*str,*(str+1),*(str+2),*(str+3),*(str+4),*(str+5));//一定要記得調試完注釋掉這一行代碼!!!

------》網上不是太完整的代碼:【可能是考試的"標準答案",唉。。。】《------

//輸入一行字符,統計其中有多少個單詞 #include<stdio.h> #include<string.h> int main() { char string[81]; int i,num=0,word=0; char c; gets(string); for(i=0;(c=string[i])!='\0';i++) if(c==' ') word=0; else if(word==0) { word=1; num++; } printf("There are %d words ",num); }

調試的結果:

算法圖解如下:

------》輸入一行字符,統計其中有多少個單詞 的問題到此解決了《------

升級問題如下:
問題2:有三個字符串,找出其中最大者
例如

搞清楚字符串的比較邏輯是什么?【問題是什么?問題的解決邏輯是什么?代碼實現。】
字符串的比較邏輯:
當s1<s2時,返回為負數;
當s1=s2時,返回值= 0;
當s1>s2時,返回正數。
即:兩個字符串自左向右逐個字符相比(按ASCII值大小相比較),直到出現不同的字符或遇’\0’為止。如:

/* 其中A=65,a=97 1."A"<"B" 2."A"<"AB" 3."Apple"<"Banana" 4."A"<"a" 5."compare"<"computer" */

搞清楚字符串的比較邏輯之后,那么how hello hinihao 這三個字符串大小的關系是:
how > hinihao > hello
所以輸出最大的字符串就是輸出how.
完整代碼如下:

#include<stdio.h> #include<string.h>int main() {char str[3][20], // 定義二維字符數組string[20]; // 定義一維字符數組,作為交換字符串時的臨時字符數組int i;for(i=0;i<3;i++)gets(str[i]);if (strcmp(str[0], str[1])>0) {strcpy(string, str[0]);}else {strcpy(string,str[1]);}if(strcmp(str[2],string)>0) {strcpy(string,str[2]);}else {strcpy(string,string);}printf("The largest string is:%s\n", string);return 0; }

輸入:
how
hello
hinihao
代碼應該執行輸出:
how
截圖:

------》搞定 問題2:有三個字符串,找出其中最大者 的問題到此解決了《------

秘籍思維:
編程就是解決問題。
解決問題就是找解決邏輯。
最終將邏輯轉化為代碼實現。【c語言代碼,python代碼,go代碼】

總結

以上是生活随笔為你收集整理的C语言 输入一行字符,统计其中有多少个单词 和 有三个字符串(网上找的代码有瑕疵已解决),找出其中最大者的完整代码及分析过程的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 免费三级网 | 午夜久久久 | 欧美精品一区在线观看 | 奇米影视狠狠干 | 综合av| 欧美精品一区二区在线播放 | 国产久草视频 | 欧美爱爱爱 | 偷拍女澡堂一区二区三区 | 成人午夜免费福利 | 国产又黄又猛又粗 | 理论在线视频 | 免费观看日韩av | 视色网| 清清草免费视频 | 欧美日韩国产精品成人 | 中文字幕伦理 | 久久99中文字幕 | 夜夜爱av| 男人添女人囗交视频 | 国精产品99永久一区一区 | 午夜影院黄| 伊人色av | 免费成人高清在线视频 | 高跟av| 好吊日免费视频 | 日本a级一区 | 性一交一乱一色一视频麻豆 | 五月天激情视频 | 欧美变态视频 | 日韩在线观看中文字幕 | 国产一二三四在线 | 亚洲成人高清 | 午夜窝窝 | 国产在线看黄 | 色综合久久88 | 亚洲欧美在线观看 | 91久久国语露脸精品国产高跟 | 日本一区二区三区在线看 | www.欧美日韩 | 美日韩免费视频 | 亚洲欧美日韩图片 | 污视频网站入口 | 大又大又粗又硬又爽少妇毛片 | 99视频在线看 | 91亚洲国产 | 日日舔夜夜操 | 啪视频免费 | 99久久99久久精品免费看蜜桃 | 欧美男女交配视频 | 自拍视频在线观看 | 天天摸天天爽 | 91精品久久久久久综合五月天 | 毛片2| 鲁一鲁啪一啪 | 国产夫妻在线观看 | 免费欧美一级视频 | 超碰成人免费在线 | 久久综合国产精品 | 永久免费毛片 | 91视频看片 | 国产成人久久777777 | 偷拍女澡堂一区二区三区 | 亚洲国产精品99久久久久久久久 | av新天堂 | 天天干网 | 久久婷婷五月国产色综合激情 | 91麻豆精品久久久久蜜臀 | www.亚洲| 国产三级国产精品国产国在线观看 | 四虎福利视频 | 91精选 | 欧美福利视频在线观看 | 在线免费观看国产 | 操操干干 | 亚洲综合婷婷久久 | 日本在线中文字幕专区 | 一区二区国产欧美 | 婷婷免费 | 日韩精品在线免费看 | 欧美日韩成人精品 | 欧美日韩在线二区 | 九九自拍偷拍 | 超碰97av在线 | 加勒比毛片 | 日本成人在线视频网站 | 中国老熟妇自拍hd发布 | 少妇人妻丰满做爰xxx | 97国产精东麻豆人妻电影 | 日韩乱码一区二区 | 黑人粗进入欧美aaaaa | 国产a视频精品免费观看 | 亚洲高清在线 | 亚洲一区精品在线观看 | 性欧美18一19性猛交 | 黄色特级大片 | 亚洲国产精品无码久久久 | 日韩中文字幕国产 | 成人av电影在线观看 |