PTA从键盘输入n个整数,求出这n个数的平均值及其中的最大数和最小数。 从键盘输入一个正整数,要求编程实现以下功能: 求出这个数是几位数,并输出其位数; ② 输出这个数的逆序数。

2023-05-16

题目一

从键盘输入n(3<=n<=20)个整数,求出这n个数的平均值及其中的最大数和最小数。
输入格式:
在第一行输入一个介于3至20之间的整数n,在第二行输入n个整数,中间用一个空格分隔数据。
输出格式:
依次输出平均值(保留2位小数),最大值,最小值,中间用逗号,分隔,最后换行。
保留两位小数这个地方,emmm,明显的需要浮点数对吧
最大值一定不为0对吧,所以开始的时候可以将最大值赋值为0,最小值就不能这么做了,因为不确定。
感觉审题不认真挺吃亏的

答案一(没有用数组)

#include<stdio.h>
int main()
{
    int n,i,a,sum,max,min;
    float ave;
    scanf("%d",&n);
    sum=max=i=0;
    while(i<n)
    {
        scanf("%d",&a);
        sum=sum+a;
        if(max<a)
        max=a;
        if(i==0)
        min=a;
        if(min>a)
        min=a; 
        i++;      
    }
    /*可以替换为
    for(i=0;i<n;i++)
    {
    	scanf("%d",&a);
        sum=sum+a;
        if(max<a)
        max=a;
        if(i==0)
        min=a;
        if(min>a)
        min=a; 
    }*/
    ave=sum*1.0/n;
    printf("%.2f,%d,%d\n",ave,max,min);
    return 0;
}

答案二(用的数组,这个答案不是我写的。。。。。。这个题的要求没啥必要用数组,而且这个答案也不完美。。。学过的第一眼就看出来数组长度有问题,如果数多的话这个根本就不适用了,有时间大家可以改着玩玩,wo xian liu le!改别人的代码太费劲了)

#include<stdio.h>
int main()
{
	int i,j, t, n;
	float sum = 0.00;
	int a[1000];
	scanf("%d", &n);
	for (i = 0; i < n; i++)
	{
		scanf("%d",&a[i]);
		sum = sum + a[i];
	}
	for (i = 0; i < n-1;i++)
		for (j = i + 1; j < n;j++)
			if (a[i] > a[j])
			{
				t = a[i];
				a[i] = a[j];
				a[j] = t;
			}
	printf("%.2f,%d,%d\n", sum /n,a[n-1], a[0]);
	return 0;
}

题目二(这个题目我没做出来。。。。。。。。)

从键盘输入一个正整数(不超过9位,即最多9位),要求编程实现以下功能:
① 求出这个数是几位数,并输出其位数;
② 输出这个数的逆序数。
输入格式:
输入一个正整数(不超过9位,即最多9位)。
输出格式:
输出刚刚输入的正整数,包含的位数及其逆序数,中间用英文逗号分隔开,最后换行。
自己的错误的。。。。。

#include<stdio.h>
#include<math.h>
int main()
{
    int a,b,c,d,e,f,m;
    int k;
    a=c=d=0;
    scanf("%d",&k);
    a=k;
    b=0;
    while(k!=0)						//也是为了退出循环,这里k会变化  所以上一句我把k存到a里面了
    {
        k=k/10;
        b++;						//这个就是我打算求位数的计数器b
    }
    e=1;
    while(e<=b)
    {
        f=a%10;
        a=a/10;
        c=f*pow(10,(b-e))+c;				//个人感觉是这个出了问题,但是才疏学浅搞不懂
        e++;
    }
    printf("%d,%d,%d",a,b,c);
    return 0;
}
//我自己的错误代码  希望大家能够帮忙找找错误。我跑的时候就直接int main()这里就error了  
//我不太清楚原理,大牛看到的话帮帮我

用pow函数报错。这是个死胡同,我走不出来了,希望大家指点我一下!(抱拳)
下面这个是改正以后的,没有用pow函数。里面的while可以用for替换,为了容易看,我就不换了。

答案一


#include<stdio.h>
int main()
{
    int a,b,c,d,e,f,m;
    int k;
    a=c=d=b=0;
    scanf("%d",&k);
    a=k;
    m=a;
    while(k!=0)
    {
        k=k/10;
        b++;
    }
    e=0;
    while(e<b)
    {
        c=c*10+a%10;
        a=a/10;
        e++;
    }
    printf("%d,%d,%d",m,b,c);
    return 0;
}

答案二(更简单一些,判断数位拿到下面顺便做了,就不需要像答案一单独判断了。)

#include <stdio.h>
int main()
{
    int x, a,c=0,b=0; 				//这边b不置零的话会有随机数的影响,可能会出现位数不对的情况
    scanf("%d",&x);
    a=x;
    while(x!=0)					//判断条件,保证能够顺利退出
    {
        c=c*10+x%10;
        x=x/10;
        b++;				//不管正反  这个数的位数始终都是不变的对吧 所以位置在哪都行
    }
    printf("%d,%d,%d",a,b,c);
    return 0;
}

答案三(用的数组做的)

#include<stdio.h>
int main()
{
    long a,n=0,b[10],i;
    scanf("%ld",&a);
    printf("%ld,",a);
    while(a>0)
    {
        b[n]=a%10;
        a=a/10;    
        n++; 
    }
    printf("%d\,",n);
    for(i=0;i<n;i++)
    printf("%d",b[i]);
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PTA从键盘输入n个整数,求出这n个数的平均值及其中的最大数和最小数。 从键盘输入一个正整数,要求编程实现以下功能: 求出这个数是几位数,并输出其位数; ② 输出这个数的逆序数。 的相关文章

  • 序列切片

    序列切片 切片 切片就是指对操作对象 截取 其中一部分的操作 字符串 列表 元祖 有序序列 都支持切片操作 基本语法 顾头不顾尾 序列名称 span class token punctuation span 开始位置下标 span clas
  • 阿里云领取免费2H2G云服务器&证书分享(一):Apsara Clouder云计算专项技能认证:云服务器ECS入门

    这个证书是你领服务器一个月内要考的 xff0c 内容也不难 新老用户都能领 xff0c 要求是有学生认证 当然这个证书是独立的 xff0c 你也可以不认证直接考 点击这个链接 阿里云飞天计划 跳转到阿里云飞天计划 领的服务器如果想不到要做什
  • 卷积神经网络的旋转不变性理解

    卷积神经网络本身的设计对旋转不变性没有进行专门的考虑 xff0c 只不过max pooling可以稍微补偿一下这个功能 xff0c 只是角度变化太大 xff0c 可能会作用不大 xff0c 但因为max pooling并不是为此而设计的 x
  • VS code + Win10 Linux子系统(Ubuntu)开发ESP32

    Windows开发ESP32 最近在研究EPS32 xff0c 但是和STM32之类的单片机不同 xff0c 国内资料大多是在arduino上的简单修改 xff0c 想开发底层硬件比较困难 xff1b 而官方提供的eclipse集成环境体积
  • malloc和calloc的区别

    malloc和calloc的区别有两点 xff1a 两个函数的参数不一样 malloc只有1个参数 xff0c 而calloc有两个参数内存分配后初始化不一样 calloc会把分配的内存全部初始化为0 xff0c 而malloc没有初始化操
  • ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

    欢迎关注大数据和人工智能技术文章发布的微信公众号 xff1a 清研学堂 xff0c 在这里你可以学到夜白 xff08 作者笔名 xff09 精心整理的笔记 xff0c 让我们每天进步一点点 xff0c 让优秀成为一种习惯 xff01 有时候
  • CSDN完整导出pdf博客内容,去除冗余,仅保留blog

    本文完全参考自其它博客 xff1a 新CSDN文章转成PDF 打印 去空白 IT说的博客 CSDN博客 如何将CSDN的文章导出为pdf xff1f 我的blog屋 CSDN博客 csdn导出pdf 原博客代码执行后还保留了博客作者栏 xf
  • WSL2连接调用USB设备

    声明 xff1a 本文教程来源于微软官网WSL教程 xff0c 链接地址 xff1a Connect USB devices 最近在学OpenCV xff0c 发现微软的WSL是个好东西 xff0c 结合VS Code编辑器 xff0c 无
  • 树莓派使用code-server遇到的问题

    code server在树莓派上使用是没有问题的 xff0c 只要保证树莓派系统较新 xff0c 一般不会遇到什么问题 1 以下一系列出现的问题 xff0c 都与系统环境比较旧有关 xff1a code进程一直100 占用CPU浏览器建立V
  • Mysql插入JSON串会被去一层转义

    Mysql插入JSON串会被去一层转义 问题描述 背景 xff1a 在数据库更新 新增一个字段为JSON串的时候 xff0c 被去一层转义 xff0c 导致程序解析失败 xff0c 报错 原JSON串 span class token pu
  • VS保存并生成解决方案

    一个小技巧 xff0c 提高开发效率 xff0c 使开发更迅速 为您节约更多时间 xff0c 去陪恋人 家人和朋友 背景 xff1a 使用VS工具开发 调试时需要右键项目 xff0c 生成或者重新生成解决方案 而时常大脑高速运作 xff0c
  • mysql分组排序取第一条数据

    需求 xff1a mysql 根据某一个字段分组 xff0c 然后组内排序 xff0c 最后每组取排序后的第一条数据 1 先使用 xff08 分组字段 43 排序字段 xff09 排序 相当于实现了分组和排序 xff0c 只是没有根据分组字
  • 设置 edge 浏览器跨域

    执行下面两条命令 xff0c 然后重启edge span class token string 34 C Program Files x86 Microsoft span class token entity title E span dg
  • 最简单的基于FFmpeg的AVfilter例子(水印叠加)

    61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61
  • FFmpeg源代码简单分析:avio_open2()

    61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61
  • n6005/n5105在debian11实现jellyfin硬解

    n6005 n5105在debian11实现jellyfin硬解 inter集成显卡debian11默认不支持硬解 xff0c 可按以下方式正确开启 1 环境 软件 delbian11 硬件 n6005 docker环境 安装jellyfi
  • ModuleNotFoundError: No module named 'cv2'

    ModuleNotFoundError No module named 39 cv2 39 解决方法 xff1a pip install opencv python
  • C++实现链表逆序

    链表的结构 lt pre name 61 34 code 34 class 61 34 html 34 gt lt pre name 61 34 code 34 class 61 34 cpp 34 gt struct listnode i
  • 初始化我的archlinux

    初始化我的archlinux 进入tty模式 xff0c ctrl 43 alt 43 f12 设置镜像 sudo vim etc pacman conf 开机archlinuxcn manjaro archlinuxcn The Chin
  • C语言实现Split函数

    借助C语言的动态内存分配 xff0c 实现类似VB中Split函数的效果 结构体介绍 xff1a IString xff1a 参数 str 字符串数组的指针 参数 num 字符串个数 函数介绍 功能 xff1a 按一个字符来拆分字符串 参数

随机推荐

  • openWrt从源码下载到编译(开发环境搭建)

    更新 xff1a 最近openwrt SVN失效了 xff0c 不过官方有新的教程 https wiki openwrt org zh cn doc howto buildroot exigence OpenWrt编译系统 安装 OpenW
  • Linux操作GPIO(文件IO方式)

    首先 xff0c 看看系统中有没有 sys class gpio 这个文件夹 如果没有请在编译内核的时候加入 Device Drivers gt GPIO Support gt sys class gpio sysfs interface
  • 斐讯路由器K2最新刷机教程

    最新版固件无法刷机让人很头疼 xff0c 我们需要先手动降级 xff0c 把固件刷回以前版本 xff0c 再用刷机工具进行刷机 1 登录路由器找到如下界面 下载这个文件SW K2 703004604 V21 4 6 12 bin 在上面界面
  • Linux C Socket UDP编程介绍及实例

    1 UDP网络编程主要流程 UDP协议的程序设计框架 xff0c 客户端和服务器之间的差别在于服务器必须使用bind 函数来绑定侦听的本地UDP端口 xff0c 而客户端则可以不进行绑定 xff0c 直接发送到服务器地址的某个端口地址 框图
  • Base64编码、解码 C语言例子(使用OpenSSL库)

    include lt stdio h gt include lt string h gt include lt unistd h gt include lt openssl pem h gt include lt openssl bio h
  • 用C语言实现websocket服务器

    Websocket Echo Server Demo 背景 嵌入式设备的应用开发大都依靠C语言来完成 xff0c 我去研究如何用C语言实现websocket服务器也是为了在嵌入式设备中实现一个ip camera的功能 xff0c 用户通过网
  • 解决QCamera使用QCameraImageCapture截图卡顿问题

    卡顿原因 xff1a QCameraImageCapture每次调用capture xff0c 无论你是否输入路径 xff0c 都会将捕获的图片存盘 xff0c 存盘的速度慢导致卡顿 解决思路 xff1a 将捕获的图片输出到内存缓冲区而不存
  • tmux使用手记

    tmux 指令操作 session 会话 xff1a session是一个特定的终端组合 输入tmux就可以打开一个新的session tmux new s session name 创建名为 session name 的 tmux ses
  • Oracle中to_char()函数的用法

    Oracle中to char 函数的用法 日期转换 xff1a to char date 39 格式 39 select to date 39 2005 01 01 39 39 yyyy MM dd 39 from dual select
  • terminator安装及常用操作

    terminator 安装 sudo add span class hljs attribute apt span span class hljs attribute repository span ppa gnome span class
  • 嵌入式硬件开发基础(持续更新)

    电阻 理论基础 电阻的定义 电荷在导体中运动时 xff0c 形成电流 导体中的分子 原子等其他粒子阻碍电荷移动 xff0c 进而阻碍电流这种阻碍作用 xff0c 我们称之为电阻 欧姆定律 经典公式 xff1a I 61 U
  • Hadoop Shell基本操作

    Hadoop Shell 基本操作 任务目标 1 熟练掌握常用的hadoop shell命令 相关知识 调用文件系统 FS Shell命令应使用 hadoop fs lt args gt 的形式 所有的的FS shell命令使用URI路径作
  • linux系统添加根证书 linux证书信任列表

    1 linux 访问 https 证书问题 root 64 boss test dev001 jydx curl v https mobile mycard520 com tw About to connect to mobile myca
  • 客户端和服务器端交互模型

    当我们在浏览器中输入一个地址 xff0c 到最后看到页面 xff0c 中间都经历了哪些事情 xff1f 假设我们访问的是https fanguvw xyz 这个地址 xff0c 当我们摁下Enter键 xff0c 我们可以看到博客首页 xf
  • PostgreSQL ERROR: no partition for partitioning key

    问题 xff1a Error updating database Cause org postgresql util PSQLException ERROR no partition for partitioning key seg1 se
  • 关于STM32的寄存器操作学习

    xff08 注 xff1a 此为乐某学习记录 xff0c 若有出错的地方欢迎各位指出 xff01 xff09 前言 本人使用的开发板的芯片是STM32H743XIH6 xff0c 所以也是根据此芯片来进行操作 一 寄存器 在STM32的学习
  • 大数据—Hadoop生态圈

    前言 整理了一下目前常用的hadoop组件 xff0c 后续将会对这些组件的具体应用场景和使用细节进行展开分析 如果大家发现有更好的建议欢迎大家在下方留言 生态圈 数据存储 xff1a HDFS HDFS xff0c 它是 Hadoop 技
  • byte与其他类型之间的强制转换

    强制类型转换 强制类型转换 xff0c 也称显式类型转换 xff0c 是指必须书写代码才能完成的类型转换 该类类型转换很可能存在精度的损失 xff0c 所以必须书写相应的代码 xff0c 并且能够忍受该种损失时才进行该类型的转换 l 转换规
  • Linux服务器离线安装Gitlab

    1 下载 1 1 网址 xff1a https mirrors tuna tsinghua edu cn gitlab ce yum el7 1 2 选择版本 2 安装 2 1 将安装包上传到服务器 2 2 检查相关依赖是否安装 使用命令
  • PTA从键盘输入n个整数,求出这n个数的平均值及其中的最大数和最小数。 从键盘输入一个正整数,要求编程实现以下功能: 求出这个数是几位数,并输出其位数; ② 输出这个数的逆序数。

    题目一 从键盘输入n xff08 3 lt 61 n lt 61 20 xff09 个整数 xff0c 求出这n个数的平均值及其中的最大数和最小数 输入格式 在第一行输入一个介于3至20之间的整数n xff0c 在第二行输入n个整数 xff