C语言如何实现将一个小数以百分比的形式输出

这篇具有很好参考价值的文章主要介绍了C语言如何实现将一个小数以百分比的形式输出。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在C语言中我们用连着的两个百分比符号表示一个百分比符号,即“%%”就表示一个百分比符号,例如我们想输出40%这个数到屏幕上我们可以执行以下语句:

printf("%d%%\n",40);

这样就可以将40%输出在屏幕上了

若我们想要将0.857这个浮点数以百分制的形式输出在屏幕上呢?我们知道将0.857这个数转换成为百分制的数是85.7%,所以我们应该先将0.857扩大100倍再配合百分符号输出,即执行语句:

printf("%.1f%%\n",0.857*100);

若要将小数0.77594,以百分制的形式输出,且在百分符号前的部分四舍五入保留整数部分呢?那我们可以执行以下语句

printf("%.0f%%\n",0.77594*100);

以上三条语句的执行结果:

c语言将小数转化为百分数,C语言学习历程,算法,c语言,程序人生

会有这条博客的原因是因为我在刚开始学C语言的时候,实现第三种情况,是先将百分符号前面的小数部分乘以100后转换成为四舍五入的整数形式,即先将小数乘以100减去它的整数部分然后和0.5比较若大于等于0.5则整数部分加1反之则整数部分不变,然后以printf("%d%%",Int);形式输出,如我下面这个程序采用的就是我上面所说的这种方法:

题目描述

c语言将小数转化为百分数,C语言学习历程,算法,c语言,程序人生

这是蓝桥杯官网上题库中的一道题目,我给出的解决代码是

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  // 请在此输入您的代码
  int n,array[10000],pass=0,good=0;
  float temp;
  scanf("%d",&n);
  for(int i=0;i<n;i++)
  {
    scanf("%d",&array[i]);
    if(array[i]>=60)
    {
      pass++;
    }
    if(array[i]>=85)
    {
      good++;
    }
  }
  temp=((double)pass/n)*100;
  if(temp-(pass*100/n)>=0.5)
  {
    pass=pass*100/n+1;
  }
  else
  {
    pass=pass*100/n;
  }
  temp=((double)good/n)*100;
  if(temp-(good*100/n)>=0.5)
  {
    good=good*100/n+1;
  }
  else
  {
    good=good*100/n;
  }
  printf("%d%%\n",pass);
  printf("%d%%\n",good);

  
  return 0;
}

 就很简单的一道题我写出了这么长的代码,其实后面有很大一段代码都可以只用一条输出语句来解决即代码段

temp=((double)pass/n)*100;
  if(temp-(pass*100/n)>=0.5)
  {
    pass=pass*100/n+1;
  }
  else
  {
    pass=pass*100/n;
  }
  temp=((double)good/n)*100;
  if(temp-(good*100/n)>=0.5)
  {
    good=good*100/n+1;
  }
  else
  {
    good=good*100/n;
  }
  printf("%d%%\n",pass);
  printf("%d%%\n",good);

描述的功能用下面两条输出语句即可解决

printf("%.0f%%\n",(double)pass*100/n);
printf("%.0f%%\n",(double)good*100/n);

那么我的程序就可以大大精简,不用再那么冗长文章来源地址https://www.toymoban.com/news/detail-740808.html

到了这里,关于C语言如何实现将一个小数以百分比的形式输出的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MYSQL 统计停车时长百分比

    2024年02月11日
    浏览(52)
  • 【matplotlib 实战】--百分比柱状图

    百分比堆叠式柱状图 是一种特殊的柱状图,它的每根柱子是等长的,总额为100%。 柱子内部被分割为多个部分,高度由该部分占总体的百分比决定。 百分比堆叠式柱状图 不显示数据的“绝对数值”,而是显示“相对比例”。 但同时,它也仍然具有柱状图的固有功能,即“比

    2024年02月08日
    浏览(48)
  • 【移动端网页布局】流式布局案例 ② ( 实现顶部固定定位提示栏 | 布局元素百分比设置 | 列表样式设置 | 默认样式设置 )

    京东手机端 https://m.jd.com/ 顶部提示 使用京东 APP 打开网页的提示 , 是通过 固定定位 放置在顶部的 , 当向上滑动界面的时候 , 该 顶部 固定定位元素消失 ; 首先 实现顶部的提示条 , 该提示条的宽度肯定是 100% , 网页布局宽度 = 设备屏幕宽度 = 本提示条宽度 ; 如果不能确定具体

    2023年04月25日
    浏览(41)
  • 在视频中选定/截取部分区域画面,然后将左上角坐标百分比和选定区域宽高所占百分比传给后端

    在视频中选定部分区域,然后将左上角坐标百分比和选定区域宽高所占百分比传给后端 播放 flv 格式视频 点击“截取”按钮,将视频当前画面截取为一张图片并回显图片, 使用 Cropper 插件截取图片部分区域(可以获取到截取图片左上角点坐标和截取部分的宽高) cropperjs 参数

    2024年02月03日
    浏览(37)
  • (vue)多级表头且转为百分比显示

    2024年02月11日
    浏览(40)
  • 移动端布局之流式布局1(百分比布局)

    流式布局,就是百分比布局,也称非固定像素布局 通过盒子的宽度设置成百分比来根据屏幕的宽度来进行伸缩,不受固定像素的限制,内容向两侧填充 流式布局方式是移动web开发使用的比较常见的布局方式 max-width 最大宽度(max-height 最大高度) min-width 最小宽度(min-height

    2024年02月06日
    浏览(43)
  • 鸿蒙OS应用开发之百分比显示组件

    前面学习了动态加载的组件,在本文里将要学习百分比显示组件,这个组件可以把数据按百分比的情况进行图形显示出来。百分比图形显示还是很有用的,比如一个班里学生的成绩占比,还有软件项目开发进度的情况,还有软件下载进度等等。 在鸿蒙系统里定义这个组件接口

    2024年01月20日
    浏览(52)
  • 记录vue项目用到的水波纹 百分比 进度

     echarts-liquidfill  git地址:mirrors / ecomfe / echarts-liquidfill · GitCode 示例:echarts图表集 前置条件,安装echarts,同时还需要安装echarts-liquidfill 注意 :echarts-liquidfill@3 版本匹配 echarts@5 版本,echarts-liquidfill@2 版本匹配 echarts@4 版本 在main.js中引入 初始化图形方法

    2024年02月16日
    浏览(51)
  • 一文搞懂:viewpoint与rem、百分比、px

    ​一个表总结: 名称 定义 使用示例 viewpoint 是指用户在网页上实际可见和可交互的区域,通常指的是浏览器窗口或移动设备的屏幕尺寸。 width:100vw;height:100vh rem (root em)是相对于根元素(通常是 html 元素)的字体大小来计算的单位。 width:100rem;height:100rem 百分比 是

    2024年03月19日
    浏览(51)
  • html浏览器进行缩放百分比 界面和文字保持不变

    400%效果 50%效果

    2024年02月03日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包