首页 > 其他分享 >HWOD:记录正负数

HWOD:记录正负数

时间:2024-04-02 18:30:53浏览次数:18  
标签:count zheng HWOD temp 记录 sum 正负数 printf scanf

一、知识点

1、scanf()的返回值

scanf()返回值类型为int,返回转换成功的个数

有代码int  temp;   scanf("%d",&temp);

在屏幕输入一个数字,比如5,回车,scanf()返回1

在屏幕输入一个字符或字符串,比如h或helloworld,回车,scanf()返回0,表示转换失败

2、结束scanf()的不定数量读取

基于1,可以通过非法输入,结束scanf()的不定数量读取

3、数组不一定要先存储后处理

对数组的处理不一定需要把数组读完存储起来再处理,可以边读边处理,也就是说不一定需要存储数组

二、题目

1、描述

输入 n 个整型数,统计其中的负数个数并求所有非负数的平均值,结果保留一位小数,如果没有非负数,则平均值为0

2、数据范围

1<= n <=50000;每个数都满足 |val|<=10^6

3、输入

输入任意个整数,每行输入一个

4、输出

输出负数个数以及所有非负数的平均值

三、自己写的代码

#include<stdio.h>
int main() {
    int count_fu = 0, count_zheng = 0, temp;
    float sum = 0;
    while (scanf("%d", &temp) == 1) {
        if (temp < 0) {
            count_fu++;
        } else {
            sum += temp;
            count_zheng++;
        }
    }
    printf("%d\n", count_fu);
    if (count_zheng == 0) {
        printf("0.0\n");
    } else {
        sum = sum / count_zheng;
        printf("%.1f\n", sum);
    }
    return 0;
}

四、测试

五、自己写的其他代码

和三的主要不同之处在于结束scanf()不定数量读取的判断条件

1、while(scanf()>0)

#include<stdio.h>
int main() {
    int count_fu = 0, count_zheng = 0, temp;
    float sum = 0;
    while (scanf("%d", &temp) > 0) {
        if (temp < 0) {
            count_fu++;
        } else {
            sum += temp;
            count_zheng++;
        }
    }
    printf("%d\n", count_fu);
    if (count_zheng == 0) {
        printf("0.0\n");
    } else {
        sum = sum / count_zheng;
        printf("%.1f\n", sum);
    }
    return 0;
}

2、while(scanf()!=EOF)

#include<stdio.h>
int main() {
    int count_fu = 0, count_zheng = 0, temp;
    float sum = 0;
    while (scanf("%d", &temp) != EOF) {
        if (temp < 0) {
            count_fu++;
        } else {
            sum += temp;
            count_zheng++;
        }
    }
    printf("%d\n", count_fu);
    if (count_zheng == 0) {
        printf("0.0\n");
    } else {
        sum = sum / count_zheng;
        printf("%.1f\n", sum);
    }
    return 0;
}

标签:count,zheng,HWOD,temp,记录,sum,正负数,printf,scanf
From: https://blog.csdn.net/zhg2546179328/article/details/137252958

相关文章

  • 01-​JVM学习记录-类加载器
     一、类加载器子系统1.作用-运输工具(快递员)负责从文件系统或者网络中加载Class文件(DNA元数据模板),Class文件开头有特定标识,魔术,咖啡杯壁(class文件存于本地硬盘,JVM根据class实例化)DNA元数据模板Classloader只负责class文件的加载,至于是否可运行,则由执行引擎决定加载的......
  • 3.30 模拟赛 T3 记录
    题面首先先可以发现对于限制\(\min_{i\in[l,r]}a_i\leqr-l+1\),的任意一个右端点,能贡献的\(l\)肯定是一个可以确定的前缀,这一部分可以用单调队列提前预处理出每个前缀记为\(pre_i\)。同理对于任意一个左端点也对应可以转移到一个确定的后缀,也预处理出来记为\(nxt_i\)。......
  • vim 使用记录
    记录vim使用和学习中用到的一些命令1.设置vim行号echo"setnumber">>~/.vimrcsource~/.vimrc2.vim跳到最后一行 在Vim中跳转到文件的最后一行,你可以按下Shift+G快捷键。这会将光标移动到文件的最后一行。如果你在正常模式下,也可以使用:命令加上行号:......
  • Vue2 和 Vue3 中的 v-model 的区别#记录
    vue3对v-model的语法进行了改动。vue2中有两种方式实现数据的双向绑定(组件与外部数据的双向绑定),一种是使用v-model,另一种是使用v-bind.sync修饰符。vue2中的v-model,主要是进行value属性的绑定和input事件的派发。<ChildComponentv-model="pageTitle"/>//等价于<Child......
  • FLASK学习记录-Flask-SQLAichemy
    Flask-SQLAichemy连接常用数据库 以sqlite3为例:建库建表:#!/usr/bin/pythonfromflaskimportFlaskfromflask_sqlalchemyimportSQLAlchemyfromsqlalchemyimportand_,or_importsqlite3app=Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI']='sql......
  • 蓝桥杯真题代码记录(松散子序列
    目录1.题目:2.我的代码:小结:1.题目:给定一个仅含小写字母的字符串s,假设s的一个子序列t的第i个字符对应了原字符串中的第pi个字符。我们定义s的一个松散子序列为:对于i>1总是有pi−pi−1≥2。设一个子序列的价值为其包含的每个字符的价值之和......
  • 【Azure Function & Application Insights】调用Function上传和下载文件,有时候遇见大
    问题描述在FunctionApp中配置了无代码模式的ApplicationInsights,但有时候发现,超过1MB的文件上传/下载操作成功。但是在ApplicationInsights中,却没有发现请求日志?这是一种什么情况呢? 问题解答ApplicationInsights 是具有采样功能的,当传入执行的速率超过指定的阈值时,Appl......
  • 记录一次使用unordered_set插入数据异常的问题
    问题描述问题和unordered_set有关,相关代码如下://打印unordered_set的所有值voidprintSet(conststd::unordered_set<std::string>&data){intindex=0;autoit=data.begin();for(;it!=data.end();++it){conststd::string&key=*i......
  • 转盘小程序首页运营复盘记录
    转盘小程序首页运营复盘记录~今天是4月1号,距离我的转盘小程序上线也一月有余了正如大家期待的那样,是的,我的转盘小程序已经在3月份正式上线发布了,具体的时间线如下所示  *2024-03-30功能完善,增加敏感词过滤*2024-03-25功能完善,支持语音播报*2024-03-20功能完善,新增......
  • 菜鸟记录:c语言实现PAT甲级1010--Radix
    很长时间没做,忙于考研和实习,久违的的拾起了算法。做了很长时间,其实总体思路还是很简单的,但满分不知道为什么就是到不了,又因为网上很多答案包括柳神的都是c++,无法参透,姑且只能这样了。Givenapairofpositiveintegers,forexample,6and110,canthisequation6=110bet......