• bjtuOJ1018 Campus Singing Competition


    1.由于名字要和选票数一一对应,因此需要用到结构体。在用到结构体的过程中,需要对结构体重用于记录选票数的变量进行初始化,解决方法是利用循环输入时顺便解决初始化的问题。更好的方法,或者利用一个函数就能解决的方法还没有找到;

    2.第一次用到do…while这样的循环语句,体会和while循环语句的不同;

    3.如何用指针指向结构体数组的某一个元素,这个问题始终没有解决。如果解决的话,就可以直接用sort()了,但是会增加时间复杂度。

    4.最近几个题中一次提交就成功,哈哈


    以下是代码:

    #include <stdio.h>
    #include <iostream>
    #include <string>
    
    using namespace std;
    
    int tex[1000000];
    int n,i,k;
    struct Cand
    {
        string name;
        int texn;
    } cand[101];
    
    int main()
    {
        while( scanf( "%d", &n) != EOF )
        {
    //        memset( cand, )
            int j = 0, max = 0;
            for( i = 1; i <= n; i++ )
            {
                cin >> cand[i].name;
                cand[i].texn = 0;
            }
    
            do
            {
                scanf( "%d", &tex[j] );
                j++;
            }
            while( tex[j-1] != -1 );
    
            for( k = 1; k <= n; k++ )
                for( i = 0; tex[i] != -1; i++ )
                {
                    if( tex[i] == k )
                        cand[k].texn += 1;
                }
    
            for ( k = 1; k <= n; k++ )
            {
                if ( cand[k].texn > max )
                    max = cand[k].texn;
            }
    
            for ( k = 1; k <= n; k++ )
            {
                if ( cand[k].texn == max )
                {
                    cout << cand[k].name << endl;
                    break;
                }
            }
        }
        return 0;
    }
    


  • 相关阅读:
    printf输出函数
    死循环的3种编写方案
    volatile 和const 变量的使用
    arm mov 指令
    arm ldr 指令
    arm str 指令
    Ztree-
    端口占用问题:java.net.BindException: Address already in use: bind
    模块和包
    序列化模块:json、pickle、shelve
  • 原文地址:https://www.cnblogs.com/dollarzhaole/p/3188943.html
Copyright © 2020-2023  润新知