题目1?输出句子重量
??每个句子由多个单词组成,句子中的每个单词的长度都可能不一样,假设每个单词的长度Ni为该单词的重量,你需要做的就是给出整个句子的平均重量V。
要求 ??输入只有一行,包含一个字符串S(长度不会超过100),代表整个句子,句子中只包含大小写的英文字母,每个单词之间有一个空格。
输出 ?? 输出句子S的平均重量V(四舍五入保留两位小数)
样例 ?? 输入: Who Love Solo ?? 输出 :3.67
思路:两个变量,一个记录字母的个数,另一个记录空格的个数,空格的变量从1开始
代码
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
char a[100];
cin.getline(a, 100);
int i=0;
double n = 0, kong = 1;
while (a[i]!='\0')
{
if (a[i] == ' ')
{
kong++;
}
else
{
n++;
}
i++;
}
cout << setiosflags(ios::fixed) << setprecision(2) << n / kong << endl;
return 0;
}
题目2 ?元辅音大小写转换
??元音字母(a,e,i,o,u)都写成大写,辅音都写成小写。
要求 ??输入一个字符串S(长度不会超过100,只包含大小写的英文字母和空格)。
输出 ?? 输出翻译之后的字符串S
样例 ?? 输入: Who Love Solo ?? 输出 :whO lOvE sOlO
代码
#include <iostream>
using namespace std;
char f(char a)
{
if(a >= 'A' && a <= 'Z')
a += 32;
return a;
}
int main()
{
char t[100];
cin.getline(t, 100);
int i=0;
while(t[i]!='\0')
{
if(t[i] == 'a' || t[i] == 'e' || t[i] == 'i' || t[i] == 'o' || t[i] == 'u')
{
t[i] -= 32;
}
else if(t[i] != 'A' && t[i] != 'E' && t[i] != 'I' && t[i] != 'O' && t[i] != 'U'&&t[i]!=' ')
{
t[i] = f(t[i]);
}
i++;
}
cout <<t<< endl;
return 0;
}
题目3 ?计算字符串重新排列数
??给定一个只包含大写英文字母的字符串S,要求给出对S重新排列的所有不相同的排列数。如:S为ABA,则不同的排列有ABA、AAB、BAA三种。
要求 ??输入一个长度不超过10的字符串S,我们确保都是大写的。
输出 ?? 输出S重新排列的所有不相同的排列数(包含自己本身)
样例 ?? 输入: AABBCC ?? 输出 :90
代码
|