我知道,对于那些经验丰富的编程人员,这道题很简单。但是我c++刚入门。请神人们耐心帮一下!!!在此谢过。。。。
Description
新学期开始了,小明提早到自习教室帮同学占座,一本书可以占两个相邻座位,小明只想占一整排座位,求总共需要几本书来占满这一排空余座位?
Input
题目有多组测试数据
先输入一个数据n,表示这一排总共有多少个座位,再输入一行座位状态,"*"为不能占座,"@"为可以占座。
Output
输出需要几本书占座,如果没有座位可以来占座,则输出"Oh no!"
Sample Input
1
*
6
@**@@@
Sample Output
Oh no!
3
1 #include <iostream> 2 3 using namespace std; 4 5 int main() 6 { 7 int numberOfSeat, numberOfBook = 0; 8 char seats[50]; 9 while(cin>>numberOfSeat) 10 { 11 cin>>seats; 12 for(int i = 0; i < numberOfSeat; i++) 13 { 14 if(seats[i] == '*') // if the current char is '*', we just move one step 15 continue; 16 else // if the current char is '@', we move two steps, no matter what the next char is 17 { 18 i++; 19 numberOfBook++; 20 } 21 } 22 if(numberOfBook == 0) 23 cout<<"Oh no!"<<endl; 24 else 25 cout<<numberOfBook<<endl; 26 numberOfBook = 0; 27 } 28 }
少了一本书能占相邻2个座位的逻辑
@吴瑞祥: 是不是 最后少了个return 0;
大神,谢谢了,不过我电脑编译器不能用,你运行时对么?