用c语言写出:输入一个字符串,把他按整数部分和小数部分输出
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用c语言写出:输入一个字符串,把他按整数部分和小数部分输出相关的知识,希望对你有一定的参考价值。
参考技术A 可用递归方式逐位输出;可用一个中间数组保存结果,然后将结果倒序存放到输出数组;可先计算位数,然后逐位倒序存放;也可直接倒序输出结果等。 参考技术B 用for对字符数组扫一遍,遇到非数字和小数点就return,遇到"."就记下来,从0到记号的前一位就是整数,从记号后到结尾就是小数。本回答被提问者和网友采纳 参考技术C spilt(".") 参考技术D ---在C语言中的百分比怎么精确到小数和保留整数四舍五入?
请写出代码加一些注释
#include <stdio.h>
int main()
int a,b,k;
printf("请输入分子分母和百分比的小数位数:\\n");
scanf("%d%d%d",&a,&b,&k);
printf("%d/%d=%.*f%%\\n",a,b,k,a*100.0/b);
return 0;
参考技术A 1. 用float 带小数2. 用int强制转换就是四舍五入
3. 最好是看官方的文档,有中文英文的,里的示例代码很详细 参考技术B 利用取整运算的截断特点实现。
比如:int a=0.75;取整后赋值给a的是0,小数点后面的被截断了。
如果要做整数的四舍五入,那么可以:a=(int)(0.75+0.5);取整后得到的与数学中四舍五入的结果一致,都是1;
如果要进行小数点后面的四舍五入,可以这样计算:
要保留小数点后面两位的小数,即在小数点后面两位上做四舍五入,0.756
float a=0.756,b; int x; b=a*100; b+=0.5; x=b; b=x/100;
运算是这样的:先将0.756乘以100,得到75.6,然后利用取值运算的截断做四舍五入,75.6+0.5=76.1取整后等于76,再除以100,得到结果:0.76本回答被提问者采纳
以上是关于用c语言写出:输入一个字符串,把他按整数部分和小数部分输出的主要内容,如果未能解决你的问题,请参考以下文章
C语言:计算表达式x^y的值,分别输出它们的整数部分和小数部分。
C语言程序设计:输入浮点数12.5分别输出它的整数数部分和小数部分!