| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
我这程序总是出现编译错误,哪位好信人帮忙看一看,搞不定啊,为什么中出现编译错误#include <iostream>
#include <string>
using namespace std;
char left[3][7],right[3][7],result[3][7];
bool inLeft(int i, char x);
bool inRight(int i, char x);
bool isLight(char x);
bool isHeavy(char x);
void main()
{
int n,i,j;
cin>>n;
for( i = 0; i < n; i++)
{
for( j = 0; j < 3 ;j++){ //输入3次balance左右两边的值
cin>>left[j]>>right[j]>>result[j];
}
for(char c='A'; c<='L'; c++)
if( isLight(c) )
{
cout << c << " is the counterfeit coin and it is light.\n";
break;
}
else if( isHeavy(c) )
{
cout << c << " is the counterfeit coin and it is heavy.\n";
break;
}
}
}
bool inLeft(int i, char x)
{
int j;
for(j=0; j<strlen(left[i]); j++)
if(left[i][j] == x ) return true;
return false;
}
bool inRight(int i, char x)
{
int j;
for(j=0; j<strlen(right[i]); j++)
if(right[i][j]== x) return true;
return false;
}
bool isLight(char x) //轻
{
int i;
for(i=0; i<3; i++)
switch( result[i][0] )
{
case 'u': if( ! inRight(i,x) ) return false; //右边up了,但x不在右边,说明x不是轻
break;
case 'e': if(inRight(i,x) || inLeft(i,x)) return false; //x在左或在右,但却平衡,说明x不是轻
break;
case 'd': if(! inLeft(i,x)) return false; //右边down了,但x不在左边,说明x不是轻
break;
}
return true;
}
bool isHeavy(char x) //x为重,和轻得情况类似
{
int i;
for(i=0; i<3; i++)
switch( result[i][0] )
{
case 'u': if( ! inLeft(i,x) ) return false;
break;
case 'e': if(inRight(i,x) || inLeft(i,x)) return false;
break;
case 'd': if(! inRight(i,x)) return false;
break;
}
return true;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator