求大神指点,杭电acm1004为什么我的结果是Wrong Answer!

/*
Problem Description
Contest(比赛) time again! How excited it is to see balloons floating around.
But to tell you a secret, the judges' favorite time is guessing the most popular problem.
When the contest is over, they will count the balloons of each color and find the result.
This year, they decide to leave this lovely job to you.
Input
Input contains multiple(多个) test cases.
Each test case starts with a number N (0 < N <= 1000)
-- the total number of balloons distributed(分布).
The next N lines contain one color each.
The color of a balloon is a string of up to 15 lower-case letters.
A test case with N = 0 terminates(终止) the input
and this test case is not to be processed(处理).
Output
For each case, print the color of balloon for the most popular problem on a single line.
It is guaranteed(保证) that there is a unique solution for each test case.
Sample Input
5
green
red
blue
red
red
3
pink
orange
pink
0
Sample Output
red
pink
*/
#include <stdio.h>
#include <string.h>
#define MAX 100
int main(int argc, char *argv[])
{
int n;
int i,j;
int zs[MAX];
char str[MAX][16];
while(scanf("%d",&n)!=EOF)
{
if(n==0)
break;
for(i=0;i<MAX;i++)
{
zs[i]=0;
}
for(i=0;i<n;i++)
{
scanf("%s",str[i]);
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(strcmp(str[i],str[j])==0)
{
zs[i]++;
}
}
}
for(i=0;i<n;i++)
{
for(j=i;j<n;j++)
{
if(zs[i]<zs[j])
{
i=j-1;
break;
}

}
if(j==n)
break;
}
printf("%s\n",str[i]);
}
return 0;
}

第1个回答  2014-03-18
#include <stdio.h>
#include <string.h>
#define MAX 1000

typedef struct balloons {
char color[16];
int count;
}balloons;

int main(int argc, char *argv[]) {
int T,n,m,i,j,flag;
balloons a[MAX] = {"",0};
char blln[16];
scanf("%d",&T);
while(T--) {
m = 0;
scanf("%d",&n);
for(i = 0; i < n;i++) {
scanf("%s",blln);
flag = 1;
for(j = 0; j < m && flag; ++j) {
if(strcmp(a[j].color,blln) == 0) {
++a[j].count;
flag = 0;
}
}
if(flag == 1) {
strcpy(a[m].color,blln);
a[m].count = 1;
++m;
}
}
for(i = j = 0; i < m; i++) {
if(a[i].count > a[j].count)
j = i;
}
printf("%s\n",a[j].color);
}
return 0;
}

追问

其实我是想让您分析分析我的代码出问题的地方,而不是让你粘贴一大堆代码放这-_-b要看人家的代码我自己也可以在网上搜到

求大神指点,杭电acm1004为什么我的结果是Wrong Answer!
include <stdio.h>#include <string.h>#define MAX 1000typedef struct balloons {char color[16];int count;}balloons;int main(int argc, char *argv[]) {int T,n,m,i,j,flag;balloons a[MAX] = {"",0};char blln[16];scanf("%d",&T);while(T--) {m = 0;scanf("%d",&n...

...测试用例能通过,提交总是wrong answer,求指点(Java版)。_百度知 ...
你好,杭电上java代码有要求的。java代码的类必须叫Main,而你的是Ballon。改过就好了。还有这题输出的时候System.out.println(result);就好了,不能分开。改正后AC代码:import java.util.HashMap;import java.util.Map.Entry;import java.util.Scanner;class Main { public static void main(String[]...

麻烦大神帮我看一下杭电acm2034为什么总是Wrong Answer?
麻烦大神帮我看一下杭电acm2034为什么总是Wrong Answer? \/*ProblemDescription参加过上个月月赛的同学一定还记得其中的一个最简单的题目,就是{A}+{B},那个题目求的是两个集合的并集,今天我们这个A-B求的是两个集合的差,就是做集合的减法... \/* Problem Description 参加过上个月月赛的同学一定还记得其中的...

杭电ACM Elevator 为什么是Wrong Answer……
这句改为 else 即可 如果用楼主这种条件判断的话,会忽略连续输入两个相等数的情况。

杭电acm1002,一直都是Wrong Answer,求解
data1[j]=atoi(&tmp);data2[j]=atoi(&tmp);这两个分别改成 data1[j]=tmp - '0';data1j]=tmp - '0';atoi()是把字符数组变成整数,如果&tmp之后的字符不是'\\0'反而是数字,那么就会错误的

...我自己运行起来都是对的。。。为什么交上去就是WRONG ANSWER...
比如: 3 2 2 2 时输出实际上是 27,而不是 17。。你只需要在任意一个else里的 '<' 或 '>' 改成 '<=' 或 '>=' 即可 还有一点我想说,你的代码有点杂乱,我指的是功能性不那么一目了然,建议功能性函数独立在main外面,我使用C++,大同小异,代码如下:include<iostream> using name...

杭电acm1002,一直wrong answer,怎么改啊~我的测试结果都是正确的
虽然很想说赞 但是这种是JAVA大数暴力 给没学的人AC了也没意义 有时候样例都是浮云,要逻辑周全才能AC 需要自己DEGUB才能提高 给你C ++数组模拟的代码之前说下 ---输入输出不相影响,可以边输入变输出,循环时需要的话就初始化就好了 这样会减少好多代码 有利于找错误 int a[max],b[...

杭电OJ题目2034,我的答案正确却总是wrong answer
再就是定义的数组范围,也是一个容易出错的,这些是我做题发现的一些,一般提交错误,大多数情况还是算法的问题,因为在检查你的程序的时候,是很多数据,而且边界条件也要满足,自己多测试下,看看算法对不对,自己喜欢它,就坚持下去。杭电的输入要判断文件结束.详见杭电acm主页第一栏F.A.Q P.S.新用...

...的在线测试平台不能accepted,而是wrong answer,麻烦解答下_百度知 ...
main(){char c1[1010], c2[1010];int c3[1010];int m, i, k, l, h, n, a, b, z;scanf("%d", &m);i = 0;while (i<m){if (i) printf("\\n");memset(c3, 0, sizeof(c3));i++;k = 0;l = 0;n = 0;printf("Case %d:\\n", i);scanf("%s", c1);...

杭电ACM 2025问下 我写的哪里错了,老是wronganswer
这个题也比较简单,我只是给你测试了一下,当测例是abckdljgla时你的答案是abckdl(max)jgl(max)aA,显然错了,我也没有继续找错。其实改一下方法更好,你应该也会认同这一点的,是吧,呵呵呵。写程序必然会有这个阶段,有错误的时候最好是自己找出来纠正,这样对自己的提升最大。有错误的时候...

相似回答
大家正在搜