loop他只有两个o,他想让自己的o变得多一点,所以他去学了一种魔法,现在的他可以把l变成一个o,把p变成两个o,把lp变成4个o。
o变多了的loop依旧很菜,他不知道他最多能有多少o,你能帮他算出来吗?
Input
多组输入,每行一个只包含l,o,p的字符串,每行长度不超过1e4。
Output
每行字符串输出一行代表该字符串最多能有多少o
SampleInput
loop
lpoo
SampleOutput
5
6
loop他只有两个o,他想让自己的o变得多一点,所以他去学了一种魔法,现在的他可以把l变成一个o,把p变成两个o,把lp变成4个o。
o变多了的loop依旧很菜,他不知道他最多能有多少o,你能帮他算出来吗?
Input
多组输入,每行一个只包含l,o,p的字符串,每行长度不超过1e4。
Output
每行字符串输出一行代表该字符串最多能有多少o
SampleInput
loop
lpoo
SampleOutput
5
6
试验可用!有疑问追问,没问题采纳
#include <stdio.h>
#include <stdlib.h>
#define LEN 10 //设置每行长度
#define ROW 2 //设置行数
int main()
{
int i = 0;
int j = 0;
int count[ROW] = { 0 }; //用来记录每行出现o的数量
char arr[ROW][LEN] = { 0 }; //定义一个字符二维数组用来存放输入的字符串
for(j=0;j<ROW;j++)
{
scanf("%s", &arr[j]); // 按 空格 区分字符串
}
for (j = 0; j < ROW; j++)
{
for (i = 0; i < LEN; i++)
{
if (arr[j][i]=='l')
{
if (arr[j][i + 1] == 'p')
{
count[j] += 4; //统计出现l且下一个字符是p时 增加 4个o
i++; //跳过下一个p
}
else
{
count[j]++;
}
}
else if (arr[j][i] == 'o')
{
count[j]++;
}
else if (arr[j][i] == 'p')
{
count[j]+=2;
}
if (arr[j][i] == '\0')
{
break;
}
}
printf("%d\n", count[j]);
}
return 0;
}