
c语言实数除法怎样保留小数部分
#include<stdio.h>
#include<string.h>
char str[51];
int n,count,i;
int main()
{ scanf("%s",&str);
n=strlen(str);
count=1;
for(i=1;i<n;i++)
{if(str[i]!=str[i-1])
count++;
else continue; }
double ans;
ans=(float)n/count;
printf("%.2f",ans);}
printf("%.2f",ans); 是保留两位小数
n和count都是int型,用float强制转换浮点型,才能得出带小数的结果!!
扩展资料
C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
C/C++编程语言中,int表示整型变量,是一种数据类型,用于定义一个整型变量,在不同编译环境有不同的大小,不同编译运行环境大小不同。
语法
INT(number)
Number 需要进行向下或者向上舍入取整的实数。
说明
int函数可用floor函数代替
int(number)=floor(number,1)
参考资料C语言_百度百科int函数_百度百科
首先C语言中没有“实数”的定义,但是可以通过定义变量类型和强制类型转换来保留小数部分。
1、定义类型变量,代码如下:
#include<string.h>
int main()
{
double a = 7;
int b = 2;
double c = a / b;
printf("c = %f\n", c);
return 0;
}
2、强制类型转换,代码如下:
#include<string.h>
int main()
{
int a1 = 9;
int b1 = 4;
double c1 = (double) a1 / b1;
printf("c1 = %f\n", c1);
return 0;
}
扩展资料:
在C中主要数据类型分为4种,分别为:整型(int -- 占2个字节,输出用%d),字符型(char -- 1个字节,输出用%c),单精度浮点型(float -- 2个字节,输出用%f),双精度浮点型(double -- 4个字节,输出用%lf)。
printf(),调用头文件<stdio.h>中的printf函数,用于输出函数的值。当想要输出某个变量时,需要先告诉他输出格式。
参考资料:
3/2=1
是取整运算
要保留小数
需要
(3*1.0)/2=1.5
a,b为int型
c=(float)a/b;
printf("%.2f",c);
c就为float型,比如5/3=1.66
想要几位就改成%.nf.
希望能帮到你。
因为如果像你那样写的话先作int型数的运算,这时小数部分就丢了,然后转换为double型的,加小数点后,默认为double型数的运算了,当然小数就不会丢啦