设置N位有效小数大家都是怎么实现?看下吧

c语言输入一个变量n 让一个小数保留n位有效数字 如何实现?

其实,有很多方法 我只写一种  不一定是最好的 但你一定能看的懂:
#include <stdio.h>
void main()
{
  int n;
  float number;
  int i = 0;
  printf("请输入保留的位数:");
  scanf("%d",&n);
  printf("请输入目标数:");
  scanf("%f",&number);
  while(i!=n)//先让它乘以n个10
  {
     number = number * 10;
     i++;
  }
  number = (int)number; //取他乘以n个10之后的整数
  while(i)//再让它除以n个10,变为有n位小数
  {
     number = number / 10;
     i--;
  }
  printf("%f",number);//输出
}


不懂得欢迎来提问


C++程序设计中怎样表示保留n位小数?
 编程语言
在c语言中用下列语句实现的
printf("%.3e\n",s);
printf("%.0f\n",v);
在c++中用什么语言实现同样的功能啊?
你仍然可以用上面这些语句。
此外,以可以看下面的例子
使用setprecision(n)可控制输出流显示浮点数的数字个数。C++默认的流输出数值有效位是6。
如果setprecision(n)与setiosflags(ios::fixed)合用,可以控制小数点右边的数字个数。setiosflags(ios::fixed)是用定点方式表示实数。 
如果与setiosnags(ios::scientific)合用, 可以控制指数表示法的小数位数。setiosflags(ios::scientific)是用指数方式表示实数。
例如,下面的代码分别用浮点、定点和指数方式表示一个实数:
#include <iostream.h>
    #include <iomanip.h> //要用到格式控制符
    void main()
    {
      double amount = 22.0/7;
      cout <<amount <<endl;
      cout <<setprecision(0) <<amount <<endl
       <<setprecision(1) <<amount <<endl
       <<setprecision(2) <<amount <<endl
       <<setprecision(3) <<amount <<endl
       <<setprecision(4) <<amount <<endl;
      cout <<setiosflags(ios::fixed);
      cout <<setprecision(8) <<amount <<endl;
      cout <<setiosflags(ios::scientific) <<amount <<endl;
      cout <<setprecision(6); //重新设置成原默认设置
    }


   运行结果为:
     3.14286
     3
     3
     3.1
     3.14
     3.143
     3.14285714
     3.14285714e+00


C语言 输入一个数 a ,使之保留2位小数,对小数点后第3位数进行四舍五入,怎么做???
C语言  输入一个数 a ,使之保留2位小数,对小数点后第3位数进行四舍五入,怎么做???
我是菜鸟,希望越简单越好
声明  : double a;
输入a后  :
a = (double)(((int)((a+0.005) * 100.00)) /100.00);


用ASP脚本编写程序?
 编程语言asp
1 请开发一个页面,显示来访者的IP地址,并判断:如果IP地址以162.105开头,则显示欢迎信息;否则,显示为非法用户,并终止程序。
2 请开发一个页面,当客户第一次访问时,需在线注册姓名、性别等信息,然后把信息保存到Cookies中。下一次如果该用户再访问,则显示“某某,您好,您是第几次光临本站”的欢迎信息。
===================== 第一题 开始================
<html>
 <head>
 </head>
 <body>
  <%
   Dim IP
   IP=Request.ServerVariables("REMOTE_ADDR")
   If Mid(IP,1,7)="162.105" Then
    Response.Write "欢迎您"
   Else
    Response.Write "您是非法用户"
   End If
 %>
 </body>
</html>  


========================= 第一题 结束 =========================

************************ 第二题 开始 *********************

<html>
 <body>
  <%
   If Request.Cookies("user")="" Then
   '如果是第一次访问,就让客户填写有关信息
   Response.Write "您好,您是第一次访问本站,请填写个人信息"
  %>
  <form action="" method="post">
   请输入姓名 : <input type="text" name="user_name">
   请选择性别 : <input type="radio" name="sex" value="男">男
   <input type="radio" name="sex" value="女">女
   <input type="submit" value="提交">
  </form>
  <%
   Elseif Request.Cookies("user")("vNumber")>=1 Then
    '如果不是第一次访问,就令访问次数在原有次数上加1
    Dim vNumber '定义一个访问次数变量
    Dim user_name
    Dim sex
    vNumber=Request.Cookies("user")("vNumber")
    user_name=Request.Cookies("user")("user_name")
    sex=Request.Cookies("user")("sex")
    Response.Cookies("user")("vNumber")=vNumber+1 '将访问次数加1.保存到 Cookies 中
    Response.Cookies("user")("user_name")=user_name
    Response.Cookies("user")("sex")=sex
    Response.Cookies("user").Expires=#2030-1-1# '设置有效期为20年,其实也没必要这么长
    Response.Write Request.Cookies("user")("user_name")&"您好,您是第"&(vNumber+1)&"次访问本站"
   End If
   '如果提交表单后执行如下语句
   If Request.Form("user_name")<>"" And Request.Form("sex")<>"" Then
    Response.Cookies("user")("user_name")=Request.Form("user_name")
    Response.Cookies("user")("sex")=Request.Form("sex")
    Response.Cookies("user")("vNumber")=1
    Response.Cookies("user").Expires=#2030-1-1#
  %>
 </body>
</html>  



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值