⑴ c语言中输出时怎样控制小数点后的位数,请举例说明保留1、2、3、4位小数等等,谢谢
控制小数位数就是通过输出格式说明符来规定的
举例说明如下:
1、float f1=3.1415926;
2、float f2=1234.1415926;
3、float f3=124.1;
4、printf("%3.4f",f1);//输出结果为:_ _ 3.1416(_表示空格)
5、printf("%3.4f",f2);//输出结果为:1234.1416
6、printf("%3.4f",f3);//输出结果为:124.1000
printf("%3.4f",f);中的3是控制f的整数部分按3位的固定位宽输出;4是按四舍五入的准则保留4位小数。
注:如果整数部分不足3位,则在前面补空格,超过3位,则按实际位数输出;如果小数部分不足4,则在后面补0。
如果存储比精度更重要,请考虑对浮点变量使用float类型。相反,如果精度是最重要的条件,则使用double类型。
浮点变量可以提升为更大基数的类型(从float类型到double类型)。当您对浮点变量执行算术时,通常会出现提升。此算术始终以与具有最高精度的变量一样高的精度执行。例如,请考虑下列类型声明:
float f_short;double f_long;long double f_longer;f_short=f_short*f_long;
在前面的示例中,变量f_short提升到类型double并且与f_long相乘;然后,结果舍入到类型float,然后赋给f_short。
在以下示例中(使用前面示例中的声明),将以浮点(32位)精度对变量执行算术;结果随后将提升到double类型:
f_longer=f_short*f_short;
double f_long;
long double f_longer;
f_short=f_short*f_long;
在前面的示例中,变量f_short提升到类型double并且与f_long相乘;然后,结果舍入到类型float,然后赋给f_short。
在以下示例中(使用前面示例中的声明),将以浮点(32位)精度对变量执行算术;结果随后将提升到double类型:
f_longer=f_short*f_short;
⑵ 用C语言编输入一个整数输出其位数
获取输入数据比较简单,用scanf即可。
下面给两个判断整型数据位数的函数:
1.
直接求int类型数据位数:
int
getlength(const
int
tmp)
{
int
count=0;
while(
tmp/10
)
count++;
return
count;
}
2.
利用字符数组来变通的获取:
int
getlength(const
int
tmp)
{
char
str[16];
memset(str,
0,
sizeof(str));
sprintf(str,
"%d",
tmp);
return
strlen(str);
}
⑶ c语言怎么限定输出整数占四位
#include<stdio.h>
intmain(void)
{
intn;
scanf("%d",&n);
inti,j;
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
printf("%d*%d=%-4d",i,j,i*j);
puts("");
}
return0;
}
按照题目要求为: %-4d
⑷ C语言中输出时怎样控制小数点后的位数
举例说明如下:
#include <iostream>
#include <iomanip>
using namespace std;
int main( void )
{
const double value = 12.3456789;
cout << value << endl; // 默认以6精度,所以输出为 12.3457
cout << setprecision(4) << value << endl; // 改成4精度,所以输出为12.35
cout << setprecision(8) << value << endl; // 改成8精度,所以输出为12.345679
cout << fixed << setprecision(4) << value << endl; // 加了fixed意味着是固定点方式显示,所以这里的精度指的是小数位,输出为12.3457
cout << value << endl; // fixed和setprecision的作用还在,依然显示12.3457
cout.unsetf( ios::fixed ); // 去掉了fixed,所以精度恢复成整个数值的有效位数,显示为12.35
cout << value << endl;
cout.precision( 6 ); // 恢复成原来的样子,输出为12.3457
cout << value << endl;
}
⑸ c语言如何控制小数位数
可以在输出时,指定小数点后的有效位数,实现精确到若干位的效果。
要精确到小数点后若干位,则数据类型为浮点型,可能为单精度(float)或双精度(double)。
在C语言中,使用格式化输出函数printf来实现输出。
输出格式为
%.NF
1 %为格式化字符串的引导字符。
2 .N表示指定显示N位小数。
3 F为类型字符,对于float, F值为f, 对于double,F值为lf。
举例:
1 要输出float a=1.23234; 保留3位小数的写法为:
printf("%.3f",a);
2 输出double b=123.345232; 保留4为小数,写法为:
printf("%.4lf",b);
⑹ c语言怎么将输入一个数输出其位数
将它作为字符串读入,测长度即可。
char
s[80];
scanf("%s",s);
printf("%d",strlen(s));
例如:输入
-123.987654321
输出
14
(含符号,小数点,数字)
若要转
double
a;
可以用
sscanf(s,"%lf",
&a);
输出a:
printf("%.9lf",a);
⑺ c语言怎么将输入一个数输出其位数
将它作为字符串读入,测长度即可。
char s[80];
scanf("%s",s);
printf("%d",strlen(s));
例如:输入 -123.987654321
输出 14 (含符号,小数点,数字)
若要转 double a; 可以用 sscanf(s,"%lf", &a); 输出a: printf("%.9lf",a);
⑻ 在C语言中如何输出数字的位数
1. 使用itoa函数把数转换为字符串类型,在使用strlen函数统计字符串长度。即数字的位数。
2. 例程:
#include<stdio.h>
#include<stdlib.h>//itoa要使用的头文件
#include<string.h>//strlen要使用的头文件
voidmain()
{
inti,len;
charstr[20];
scanf("%d",&i);//读入一个数字
itoa(i,str,10);//将该数字转换成字符串类型
len=strlen(str);/*计算字符串的长度[参数1:要转换的数参数2:转换后存放到的位置参数3:以十进制转换]*/
printf("INTotal:%d ",len);
}
⑼ C语言如何控制输出数字的有效位数
在用printf输出的时候
使用
例
%5.2f
5位,其中两位小数位,
%-5.2f
左对齐
没有"-“则是右对齐。。等等
。