string-HDOJ1004 用C语言做的不知道哪错了帮忙看一下问题出在哪里

问题描述

HDOJ1004 用C语言做的不知道哪错了帮忙看一下问题出在哪里

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"
int main()
{
int t=1;
while(t)
{
int n,j,i,b[1000];
char a[1000][18];
scanf("%d",&n);
if(n20)
return 0;
for(i=0;i
{
scanf("%s",&a[i]);
if(strlen(a[i])>15)
return 0;
}
for(i=0;i
for(j=i+1;j
if(strcmp(a[i],a[j])>0)
{char t[1000];strcpy(t,a[i]);strcpy(a[i],a[j]);strcpy(a[j],t);}
char s[1000];strcpy(s,a[0]);int ka=0;
for(i=0;i
if(strcmp(a[i],s)==0)
{ka++,b[i]=ka;}
else
{b[i]=1;strcpy(s,a[i]);ka=1;}
int max=b[0];
for(i=0;i
if(b[i]>max)
max=b[i];
int r;
for(i=0;i<n;i++)
if(b[i]==max)
{r=i;printf("%sn",a[r]);}
t=n;
}
return 0;
}

解决方案

#include
#include
using namespace std;
int main()
{
int n,k;
string a,b;
while(cin>>n)
{
k=0;//必须在while中重新定义k
mapcolor;//必须重新清空或定义color
if(n==0)
break;
for(int i=0;i
{
cin>>a;
if(!color.count(a))
{color[a]=1;}
else
{color[a]++;}
k=k>color[a]?k:color[a];
if(k==color[a]) //当color[a] 达到最大值
{b=a;}
}
cout<<b<<endl;
}
}

解决方案二:

#include
using namespace std;
#include
#include
int main()
{
int N,i,j,m=0,flag=0,max,res;
char str[16],s[100][16],a[100];
while(scanf("%d",&N)!=EOF&&N!=0)
{
getchar();
m=0;max=0;res=0;
memset(a,0,sizeof(a));
for(i=1;i<=N;i++)
{
gets(str);flag=0;
for(j=0;j
{
if(strcmp(s[j],str)==0)
{flag=1;
a[j]++;
break;}
}
if(!flag)
{
strcpy(s[m],str);
a[m]++;
m++;
}
}
for(j=0;j
{if(a[j]>max){max=a[j];
res=j;}}
cout<<s[res]<<endl;
}
}

时间: 2024-11-02 00:53:06

string-HDOJ1004 用C语言做的不知道哪错了帮忙看一下问题出在哪里的相关文章

c语言-C语言STRUCT数组 不知道哪错了

问题描述 C语言STRUCT数组 不知道哪错了 #include int main(void) { int i,j; float temp; struct Students { char num; char name; char sex; char age; float score; }; struct Students student[5]= { {'0001','一号','男','19',99}, {'0002','二号','女','18',96}, {'0003','三号','女','19

printf-c语言代码问题,麻烦大家帮忙看一下~~

问题描述 c语言代码问题,麻烦大家帮忙看一下~~ 参加期中考试的人数约在 380~450 人之间,总平均分为 76 分,男生的平均分为 75 分,女生的平均分为 80.1 分,问男女生各有多少人? #include<stdio.h>int main() {int ab;for(a=0;a<=450;a++) for(b=0;b<=450;b++) if((380<=(a+b)&&(a+b)<=450)&&(75*a+80.1*b==(a+

[Windows Phone] 以多国语言做为开发前提 (2)

原文:[Windows Phone] 以多国语言做为开发前提 (2) ? 前言 在先前的文章 [Windows Phone 开发 - 以多国语言做为开发前提 (1)] 中说明了简单的多国语言范例,今天再补充两个常见的例子,讯息中包含变数和图片,方法一样是透过资源档的方式达成. 此部分内容一样是来从 TechDays 2013 的课程 [开发 Windows Phone 商务应用程式就是这麽快] 学习而来. ? 讯息中包含变数 我们有一段讯息,讯息中包含变数,如下所示 : 英文(预设语言) The

用c语言做一个学籍系统登陆界面,求源代码

问题描述 用c语言做一个学籍系统登陆界面,求源代码 请问我要用c语言做一个学籍系统登陆界面咋做,有没有源代码,格式如下: ****************学生学籍管理系统**************** 1,注册 2,登陆 3,修改密码 0,退出系统 请选择0~3 解决方案 http://www.docin.com/p-565175373.htmlhttp://wenku.baidu.com/link?url=k0FVy3GjeXwWYcZsHz3X5ir_qGRBS_OElVg5XDcTydD

数据挖掘-请问下,现在网上那些淘宝数据分析工具是用什么技术或语言做的?

问题描述 请问下,现在网上那些淘宝数据分析工具是用什么技术或语言做的? 主要是数据采集这一块,有没有大神在这一块的内容有所涉及.百度了数据挖掘,但是里面说的东西太虚,太泛.数据采集,数据挖掘我就知道有个网络爬虫可以做,除此之外还有什么工具,技术可以选择吗? 解决方案 一般来说用python比较好,因为诸如数理统计.机器学习.聚类分析.回归分析等的库很全. 解决方案二: 淘宝数据分析

R语言做主成分分析的过程(检讨问题及新得)

我对R的评价是没有做不到的只有想不到的,谢谢楼主分享的ACP的分析过程.但是觉得Statistic的基础没有学好的话,虽然也能用R分析但是底气显得十分不足. 原文地址:R语言做主成分分析的过程(检讨问题及新得)作者:眼镜侠      昨天写了一篇关于主成分分析理解的文章,今早登陆QQ看到舍得老师的提醒,发现自己分析中有个比较严重的问题.问题产生的原因大体是这样造成的:      这两天写毕设,想用主成分分析法确定权重,这个权重并不是确定所产生的各主成分的权重而是原始变量的权重,确定方法我在之前的

求解决-怎么用c语言做这个题目

问题描述 怎么用c语言做这个题目 /**本题要求编写程序,输出整数152的个位数字.十位数字和百位数字的值. 输入格式: 本题无输入. 输出格式: 按照以下格式输出: 152 = 个位数字 + 十位数字*10 + 百位数字*100 **/ 解决方案 关于C语言的题目C语言之多维数组简单题目练习部分C语言题目 解决方案二: int a = 152 % 100; int b = 152 % 10 - a * 10; int c = 152 - b * 10; printf("152 = %d + %

C语言 做了一个猜数游戏,如何在3次失败以后显示正确的数字printf应该加在哪里?

问题描述 C语言 做了一个猜数游戏,如何在3次失败以后显示正确的数字printf应该加在哪里? #include #include #include #include int main(){ { printf(""********************************n I want to play a game with youn********************************""); } int c; printf("&quo

c语言计算问题,不知道该怎么解决

问题描述 c语言计算问题,不知道该怎么解决 请问链接里面的E题中的Errors less than 10-6 will be ignored.用c语言怎么表示? 解决方案 这个题简单的不得了,而且都不需要那么多条件 de和bc平行,因此ad比ab等于 ade和abc面积之比的平方根. ade的面积是第四个参数(p4)给出,可得到abc面积是(p4+1) ab是参数1(p1),则得到ad=sqrt((p4+1))/p1 中间两个参数都不用 解决方案二: #include <stdio.h> #i