首页 > 其他分享 >建民打卡日记4.26

建民打卡日记4.26

时间:2023-04-26 20:25:21浏览次数:45  
标签:struct people int sum num 打卡 建民 4.26

一、问题描述

猜数字

一群人坐在一起,每人猜一个 100 以内的数,谁的数字最接近大家平均数的一半就赢。本题就要求你找出其中的赢家。

二、流程设计

  1. 定义people结构体,包含姓名和报数;
  2. 录入的同时计算总数;
  3. 计算平均数/2,输出其整数部分;
  4. 遍历寻找绝对值最小的人,输出名字。

三、代码实现

#include <iostream>
#include <cmath>
using namespace std;

struct people
{
    string name;//姓名
    int num;//猜的数字
};
int main()
{
    int n;//录入n个人
    cin>>n;
    struct people p[n];//用于记录所有信息
    int sum=0;//记录总数
    for(int i=0;i<n;i++)//录入并计算总数
    {
        cin>>p[i].name>>p[i].num;
        sum+=p[i].num;
    }
    double ave=(double)sum/(2*n);//计算平均值/2
    cout<<floor(ave)<<' ';//输出平均值的整数部分
    string s;//记录赢家姓名
    double cz=9999999;//差值
    for(int i=0;i<n;i++)//遍历找到绝对值最小的
    {
        if(fabs(p[i].num-ave)<cz)
        {
            s=p[i].name;
            cz=fabs(p[i].num-ave);
        }
    }
    cout<<s;
    return 0;
}

 

标签:struct,people,int,sum,num,打卡,建民,4.26
From: https://www.cnblogs.com/cor0000/p/17357145.html

相关文章

  • 4.26 1.8
    一、问题描述n个整数进行升序排列二、分析冒泡排序:从表头开始一一对比互换,第一个元素比较完以后,第二个元素从第三个元素开始比较互换。假设有n个元素,最坏的情况下需要比较的次数为:[(n-1)+(n-2)+······+2+1]一个数组a,数组下标用j表示,数组元素即为a[j]、a[j+1]、a[j-1]......
  • 打卡11
    三色球问题#include<stdio.h>intmain(){ intm,n,number=0; printf("红球白球黑球\n"); printf("......................\n"); for(m=0;m<=3;m++){ for(n=0;n<=3;n++){ if((8-m-n)<=6){ printf("%2d:......
  • c++打卡练习(17)
    爱因斯坦数学题:一条长台阶,若每步2阶台阶,则最后剩1阶,若每步3阶台阶,则最后剩2阶,若每步5阶台阶,则最后剩4阶,若每步6阶台阶,则最后剩5阶,若每步7阶台阶,则最后剩6阶,问在1到N的范围内有多少个这样的阶梯数,他们分别是多少?流程图:伪代码:源代码:#include<iostream>usingnamespacestd;int......
  • 每日打卡一小时(第十七天)
    一.问题描述pta多态实验:1.定义一个整数加法器类Adder,对其重载运算符“+”、“++”,main(void)函数完成对其的测试。#include<iostream>usingnamespacestd;/*请在这里填写答案*///主函数intmain(void){intx;Addera1,a2(a1);cin>>x;(a1++).show......
  • 4.26
    #include<stdio.h>#defineN10main(){inti,a[N]={-3,4,7,9,13,45,67,89,100,180},low=0,high=N-1,mid,k=-1,m;printf("a数组中的数据如下:\n");for(i=0;i<N;i++)printf("%d",a[i]);printf("\n");printf("Enterm:");scanf("......
  • 周三打卡
    题目描述:设计一个能够模拟餐厅点餐流程的程序,需要实现以下功能:显示菜单:输出餐厅提供的所有菜品及其价格。点餐:输入菜品名称和数量,将菜品添加到订单中。修改订单:输入菜品名称和数量,修改订单中已有的菜品的数量。删除订单:输入菜品名称,将菜品从订单中删除。订单总价:计算订单中......
  • 每日打卡-14
    一.问题描述  请编写一个抽象类Shape,在此基础上派生出类Rectangle和Circle,二者都有计算对象面积的函数getArea()、计算对象周长的函数getPerim()。  在此基础上,通过继承Rectangle得到一个新的类Square,然后在Shape中增加一个函数intgetVertexCount()const用来获得当前......
  • c++打卡第十六天
    一、问题描述。  二、设计思路。①、我们可以写出最终获得利息加本金的公式,即两千乘以利息加上其所存的年限,其中年限可以通过20除以不同的年限求得最大值。②、获取各个年范围后,使用for循环穷举出每种情况所得的最终金额,同时打印出当所获得金额最大时,每个不同的存钱方案是......
  • 打卡4(java)
    importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);inta=sc.nextInt(),b=sc.nextInt();intc=sc.nextInt(),d=sc.nextInt();intx=a*60+b,y=c*60+d;......
  • 编程打卡:来玩玩Ruby语言吧2.1!
    编程打卡:来玩玩Ruby语言吧2.1!我们前面实现了一个有趣的树类Tree,但它不具有简洁的用户接口,来设置一棵新树,为它写一个初始化方法,接受散列表和数组嵌套的结构。写好之后,你可以这样设置新树:{'grandpa'=>{'dad'=>{'child1'=>{},'child2'=>{}},'uncle'=>{'child3�......