#include
voidmain()
{
doubles;
inta;
doubleb;
printf("Pleaseinputadoublenumber:");
scanf("%lf",&s);
a=(int)s;
b=s-a;
printf("ln%d%lf",a,b);
{
扩展资料
C语言求100内素数:
#include
usingnamespace std;
int main() {
bool prime=true;
for(inti=0;i<100;i++) {
prime=true;
for(intj=2;j
if(i%j==0)
prime=false;
}
if(prime==true)
cout<
}
return 0;
}
对于任意的浮点数f, C语言规定,将其强制转换为整型时,(int)f就是其整数部分的值。
根据这个,可以知道小数部分就是f - (int)f。
不过,要求整数部分和小数部分和,可以有更简单的思路,不需要求每个数的小数部分,而是求得所有数的整数部分和后,用所有数的和减去整数部分和,也就是小数部分和了。这样可以精简代码,提高效率。
算法流程如下:
1 定义两个统计变量,保存整数和以及所有数的和,初始化为0;
2 遍历数组,求每个数的整数部分,并累加到整数和。
3 同步计算每个数的和;
4 遍历结束后,结果相减就是小数和;
5 输出结果。
参考代码如下:
float a[10];
int s_int = 0;
float s_float = 0;
int i;
for(i = 0 ;i < 10; i ++)
scanf("%f", &a[i]);//输入10个数
for(i = 0; i < 10; i ++)
{
s_int += (int)a[i];//分别累加。
s_float += a[i];
}
s_float -= s_int; //得到小数部分和。
printf("整数部分和为 %d, 小数部分和为%f\n", s_int, s_float);//输出。
算法思想:每一个数除以一的商是整数部分,余数是小数部分。
大概程序如下(未进行调试)
void main()
{
int a=0; //整数和
float b=0.0; //小数和
//假设你的数组是array[];
for(int index=0;index
a+=(int)array[index];
b+=array[index]%1;
}
}
int a[100],i;定义数组
int sum1=0;保存整数和
float sum2=0.0;保存小数和
for(i=0;i<100;i++)
{
int tmp1;
float tmp2;
tmp1=a[i];
tmp1=(int)tmp1;取整,得到保存在数组中的整数
sum1=sum1+tmp1;
tmp2=a[i]-1.0*tmp1;
sum2=sum2+tmp2
sum1 += tmp;
}
}
/* HELLO.C -- Hello, world */
#include "stdio.h"
#include "conio.h"
#define max 5
main()
{
float a=0, num[max]={10.2,2.3,3.6,2.5,3.2};
int i,j,sum=0;
for(i=0;i
sum+=(int)num[i];
a+=num[i]-(int)num[i];
}
printf("%d %f",sum,a);
getch();
}