急急急急急急,哪位高人帮忙做一道C++题,万分感谢

2025-02-23 21:51:56
推荐回答(2个)
回答1:

不太理解楼主的意思 不知我的理解对不对
输入:
请输入字符串以*结束 如:帅小伙 meinv *
meinv shuaixiaohuo hello 12dd 123 *

输出:
您输入的字符串为:meinv shuaixiaohuo hello 12dd 123
转换后的所有单词为:Meinv Shuaixiaohuo Hello

#include
#include
using namespace std;
int main()
{
string input;
string output="";
string changes="";
cout << "请输入字符串以*结束 如:帅小伙 meinv * " << endl;
while(cin >> input)
{
if(input == "*")
break;
output += input + " ";
if(input[0]>='a' && input[0]<='z')
{
input[0] -=32;
changes += input+" ";
}
}
cout << "您输入的字符串为:" << output << endl;
cout << "转换后的所有单词为:" << changes << endl;
}

回答2:

static void Main(string[] args)
{
Console.WriteLine("请输入一句话:");
string inStr = Console.ReadLine();//获取输入的一段英文
string outStr = processing(inStr);//把获取的一段英文交给下面的方法处理
Console.WriteLine("转换后变化为:"+outStr);
Console.ReadLine();
}

private static string processing(string str)//处理这段英文的方法
{
string[] strArray = str.Split(" ".ToCharArray());把输入的一段英文按空格分割截取放入数组里面,比如:i love you 被转换为数组{i,love,you}
string result=string.Empty;//定义一个空字符串

foreach (string s in strArray)//循环处理数组里面每一个字符串
{
result += s.Substring(0, 1).ToUpper() + s.Substring(1) + " ";//.Substring(0, 1).ToUpper()把循环到的字符串第一个字母截取并转换为大写,并用s.Substring(1)得到循环到的字符串除第一个字符后的所有字符拼装到首字母后面。
}

return result;返回这个字符串
}