1. 求整数个位数字之和
while (cin >> a)
{
c = 0;
for (int i = 1; (i < 11)&&(a != 0); ++i)
{
c += a % 10;
a = a / 10;
}
cout << c << endl;
}
while(cin>>a>>b) 主要解决的是两个为一组的多组数据输入,当一次只输入一个数据时就用上面这种方法。
输入描述: 多组输入,每行输入包括三个整数表示的分数(0~100),用空格分隔。 输出描述: 针对每行输入,输出为一行,即三个分数中的最高分。
输入: 94 98 99 100 88 60
输出: 99 100
#include <iostream>
int main()
{
int a;
int b;
int c;
int max = 0;
while(std::cin >> a >> b >> c)
{
int temp = a > b ? a : b;
max = temp > c ? temp : c;
std::cout << max << std::endl;
}
return 0;
}
2. 大小写转换
描述 实现字母的大小写转换。多组输入输出。 输入描述: 多组输入,每一行输入大写字母。 输出描述: 针对每组输入输出对应的小写字母。
示例1 输入: A B
输出: a b
#include <iostream>
int main()
{
char a;
while (std::cin >> a)
{
if(a != '\n')
{
std::cout << char(a + 32) << std::endl;
}
else{
break;
}
}
return 0;
}
3. 通过移位运算实现2的n次方
描述 不使用累计乘法的基础上,通过移位运算(<<)实现2的n次方的计算。
输入描述: 多组输入,每一行输入整数n(0 <= n < 31)。 输出描述: 针对每组输入输出对应的2的n次方的结果。
示例1 输入: 2 10
输出: 4 1024
#include <iostream>
int main()
{
int a;
while (std::cin >> a)
{
int result = 1 << a;
std::cout << result << std::endl;
}
return 0;
}
|