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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++ 一个字符串只包含K和D。K表示杀人,D表示死亡。计算连续杀敌次数,阵亡则归零。

發布時間:2025/3/15 c/c++ 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++ 一个字符串只包含K和D。K表示杀人,D表示死亡。计算连续杀敌次数,阵亡则归零。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題:

?

首先筆者的第一思路是前后兩個字符串比較。如果相同index++。

#include<iostream> #include<stdio.h> #include<string> using namespace std; int main() {string s;cout << "6請輸入字符串:" << endl;cin >> s;string name = "";unsigned int iSize = s.size();int currVal = 0;for (int i = 0; i <iSize; i++){int j = i;if (s[j] == s[j+1])currVal++;elsecurrVal = 0;}cout << currVal << endl;switch (currVal){case 0:name = "a Foolish Man"; break;case 1:name = "a Foolish Man"; break;case 2:name = "a Foolish Man"; break;case 3:name = "a Foolish Man"; break;case 4:name = "Dominating"; break;case 5:name = "a Mega-Kill"; break;case 6:name = "Unstoppable"; break;case 7:name = "Wicked Sick"; break;case 8:name = "a M-m-m-m...Monster Kill"; break;case 9:name = "Godlike"; break;default:name = "Beyond Godlike";break;}std::cout << name;system("pause");return 0; }

當我輸入題示要求后ok。但是當輸入DDDKKKK是期待輸出是4但是輸出為0.

分析結果是因為在j和j+1比較時j+1會出界。所以最后會置為0

后來網上搜索字符串中字符連續個數:

#include"string" #include"iostream" using namespace std; int main() {string str;cin>>str;int lenght=str.length();int index=0;int i;int j;for(i=0;i<length;i=j){index=1;for(j=i+1;j<length;++j){if(str[i]==str[j])index++;else break;}cout<<str[i]<<index;}cout<<endl;system("pause");return 0; }

這個程序在數連續字符時完全沒有問題。它采用起始為1,然后和后續比較,若不相同直接從不相同處開始比較的思想。但是如果最后是一個D或者多個D時我需要輸出為0.為一個K時輸出為1.。。試了多次依然沒有成功

最后。突然用自己之前一個錯誤s[+1]起始就一直是s[0]的錯誤解決,就是每個字符都和K進行比較

#include<iostream> #include<stdio.h> #include<string> using namespace std; int main() {string s ;cout << "3請輸入字符串:" << endl;cin >> s;string name="";unsigned int iSize = s.size();int currVal = 0;for (int i = 0; i <iSize; i++){if (s[i]=='K')currVal++;elsecurrVal = 0;}cout << currVal << endl;switch (currVal){case 0:name = "a Foolish Man"; break;case 1:name = "a Foolish Man"; break;case 2:name = "a Foolish Man"; break;case 3:name = "a Foolish Man"; break;case 4:name = "Dominating"; break;case 5:name = "a Mega-Kill"; break;case 6:name = "Unstoppable"; break;case 7:name = "Wicked Sick"; break;case 8:name = "a M-m-m-m...Monster Kill"; break;case 9:name = "Godlike"; break;default:name = "Beyond Godlike";break;}std::cout<<name;system("pause");return 0; }

此時滿足題意。

參考自https://blog.csdn.net/qq_27302361/article/details/51111537

總結

以上是生活随笔為你收集整理的C++ 一个字符串只包含K和D。K表示杀人,D表示死亡。计算连续杀敌次数,阵亡则归零。的全部內容,希望文章能夠幫你解決所遇到的問題。

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