保研机试算法训练个人记录笔记(七)

 

输入格式:
在第1 行给出不超过10^5 的正整数N, 即参赛}人数。随后N 行,每行给出一位参赛者的
信息和成绩,包括其所代表的学校的编号(从1 开始连续编号)及其比赛成绩(百分制),中
间以空格分隔。

输出格式

在一行中给出总得分最高的学校的编号及其总分,中间以空格分隔。题目保证答案唯一,
没有并列。

#include <iostream>
const int maxn =100010;
int school_score[maxn]={0};
int main(){
    int n , schoolID,studentScore;
    scanf("%d",&n);
    for(int i =0;i<n;i++){
        scanf("%d%d",&schoolID,&studentScore);
        school_score[schoolID]+=studentScore;
    }
    int max_score =-1;
    int school_max_score=1;
    for(int j =0;j<n;j++){
        if(school_score[j]>school_max_score){
            max_score =school_score[j];
            school_max_score = j;
        }
    }
    printf("%d %d",school_max_score,max_score);

}

输入一个数n (I~n~200) ,然后输入n 个数值各不相同的数,再输入一个值X, 输出这个值在这个数组中的下标(从0 开始,若不在数组中则输出-l )。
输入格式

测试数据有多组,输入(1~200) ,接着输入n 个数,然后输入x 。

输出格式

对每组输入,请输出结果。
 

#include <iostream>
const int maxn =210;
int a[maxn]={0};
int main(){
    int n,value;
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        scanf("%d",&value);
        a[i]=value ;
    }
    int search;
    int ids=-1;
    scanf("%d",&search);
    for(int j =0;j<n;j++){
        if(search==a[j]){
            ids = j;

        }
    }
    printf("%d",ids);
    return 0;
}

输入格式

在一行中给出正方形边长N (3~N~20) 和组成正方形边的某种字符C, 间隔一个空格。

输出格式

由给定字符C 画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,所输出的行数实际上是列数的50% (四舍五入取整)。

#include <iostream>
int main(){
    int row,col;
    char c;
    scanf("%d%c",&col,&c);
    if(col %2==1){
        row = (col+1)/2;
    } else{
        row = col/2;
    }
    //第一行
    for(int i = 0;i<col;i++){
        printf("%c",c);
    }
    printf("\n");
    //第2 - n-1行
    for(int i=1;i<row-1;i++){
        printf("%c",c);
        for(int j=1;j<col-1;j++){
            printf(" ");
        }
        printf("%c\n",c);
    }
    //n行
    for(int i =0 ;i<col;i++){
        printf("%c",c);
    }
    return 0;
}

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值