| ||||||||||
| 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>
using namespace std;
#include <stdio.h>
#include <string.h>
int judge(int i, int j, char *buf)
{
if (i==0) return 1;
if (buf[i-1]=='(') return 1;
if (buf[i-1]=='-') {
int p = 0;
for(p=i+1; p < j; p++)
if (buf[p] == '-' || buf[p] =='+') return 0;
return 1;
}
if(buf[i-1]=='+') return 1;
}
void go(char *buf)
{
char res[260];
int i, j;
int len = strlen(buf);
int min, max, num;
min = max= num = 0;
for (i = 0; i<len; i++) {
if (buf[i] == '(') {
num=1;
int sign = 0;
for (j = i+1; j <len; j++) {
if (buf[j] == '(') num++;
else if (buf[j] == ')')
{
num--;
if (num == 0) {
if (judge(i, j, buf)) buf[i] = buf[j] = '*';
sign = 1;
break;
}
}
}
}
}
for (i = 0; i < len; i++)
if (buf[i] != '*') printf("%c", buf[i]);
printf("\n");
}
int main(void)
{
int counts = 0;
char p;
scanf("%d%c", &counts, &p);
int count = 0;
char ch;
while(count<counts)
{
char buf[260];
int i = 0;
while(1) {
scanf("%c", &ch);
if (ch == '\n') {buf[i] = '\0'; break;}
else if(ch == ' ') continue;
else {buf[i] = ch; i++;}
}
go(buf);
// printf("%s\n", buf);
count++;
}
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator