zoukankan      html  css  js  c++  java
  • HDU 1004

    自己写的编译通过没问题但是oj的时候一直WA,然后别人的感觉差不多一下就AC了?????心理巨大创伤。。。贴一下我俩代码研究一下 。。。

    我的:

    #include<iostream>
    #include<string.h>
    using namespace std;
    int main(void){
    int n;
    char s[1002][16];
    int a[1002];
    while(scanf("%d",&n)!=EOF){
    if(n==0) break;
    for(int i=0;i<n;i++){
    scanf("%s",s[i]);
    }
    for(int i=0;i<n;i++)
    for(int j=0;j<n;j++){
    a[i]=0;
    if(strcmp(s[i],s[j])==0) a[i]++;
    }
    int m=a[0],k=0;
    for(int i=0;i<n;i++){
    if(m<a[i]){
    m=a[i];
    k=i;
    }
    }
    printf("%s ",s[k]);


    }
    return 0;
    }

    能通过的:

    #include <iostream>
    #include <string>
    using namespace std;
    int main()
    {
    string s[1000]; //定义字符串数组和整型数组
    int a[1000];
    int n;
    while(cin>>n) //输入n表示有n个字符串
    {
    if(n==0) //当n=0时,表示程序结束
    return 0;
    for(int i=0;i<n;i++) //输入n个字符串,并把a[i]设为0
    {
    cin>>s[i];
    a[i]=0;
    }
    for(int i=0;i<n;i++) //双重for循环判断字符串出现次数,并用a[i]来记录
    {
    for(int j=0;j<n;j++)
    {
    if(s[i]==s[j])
    a[i]++;
    }
    }
    int max=0, k;
    for(int i=0;i<n;i++) //设最大值max=0,判断a[i]的最大值即出现最多次,把最大值的下标i赋值给k
    {
    if(max<a[i])
    {
    max=a[i];
    k=i;


    }
    } //本来加了一个if(max==1)的判断 即当所有的字符串只出现一次 return 0,结果是错的
    cout<<s[k]<<endl;
    }


    return 0;
    }

    正在研究中。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    根本不是char s[1000][16]和string s[1000]的问题,也不是s[i]==s[j]还是strcmp(s[i],s[j])==0的问题,也不是数量相等时输出第一个还是最后一个的问题。而是!!!!!!

    for(int i=0;i<n;i++){
    scanf("%s",s[i]);
    }
    for(int i=0;i<n;i++)
    for(int j=0;j<n;j++){
    a[i]=0;
    if(strcmp(s[i],s[j])==0) a[i]++;
    }

    而是这里的为a[1000]数组赋初值0应该在第一个for循环,输入的时候赋值0,我的程序里在for for赋值因为是给a[i]赋值,一个a[i]会与所有a[j]比较大小,此时就存在后面的a[j]没赋值的问题,出现程序错误!!!!!1就这么一行困扰了我半天!!!

    记得所有的先赋值才能使用!

  • 相关阅读:
    How to change the property of a control from a flowlayoutpanel?
    Add controls dynamically in flowlayoutpanel
    CLR via C# 读书笔记 6-2 不同AppDomain之间的通信 z
    应用程序域 z
    C# 在SQLite数据库中存储图像 z
    Using .NET 4's Lazy<T> 实现单实例
    tpl demo
    SQLite批量插入,修改数据库 zt
    Dev表格导出工具类 z
    easyui 设置一加载,搜索框立即弹出的效果
  • 原文地址:https://www.cnblogs.com/slay/p/10391195.html
Copyright © 2011-2022 走看看