C语言程序002

1.计算1234秒等于几分钟几秒?(入门级)

#include <stdio.h>

int main(int argc, char *argv[])

{

printf("1234秒等于%d分钟%d秒\n",1234/60,1234%60);

return 0;

}

2.用单精度浮点数数据类型计算0.1累加1000次输出结果是?

#include <stdio.h>
int main(int argc, char *argv[])
{
	float sum=0;
	int i,n=1000;
for (i=1;i<=n;i++)
         sum+=0.1;
printf("%f\n",sum);
	return 0;
}

输出结果是99.999046

这是因为计算机对实数的储存是有限制的。单精度只有32位、双精度有64位。在此题中用双精度数的数据类型则可以得出100.000000的结果。

        3.如何比较两个浮点数是否相等?

如果两个浮点数的差的绝对值小于“1e-6“这个数,则可以认为两个浮点数相等。

以上一题为例子,比较sum和100是否相等。

#include <stdio.h>
int main(int argc, char *argv[])
{
	float sum=0;
	int i,n=1000;
for (i=1;i<=n;i++)
         sum+=0.1;
         printf("sum=%f\n",sum);
if(sum-100<1e-6)
//关键点:1e-6是负数,则比较的两个数应该是小减去大。
    printf("sum=100\n ");
else
    printf("sum!=100\n"); 
	return 0;
}

运行结果:

sum=99.999046

sum=100

        4.输入两个整数,计算这两个整数的和

#include <stdio.h>
int main(int argc, char *argv[])
{
	int a,b,c;
	scanf("%d%d",&a,&b);
/*scanf是scan和format的简写,含义是将键盘格式化扫描两个整数,并通过&,保存到变量a,b中间。*/(多行的批注要用/*xxxxx*/)
	c=a+b;
	printf("%d\n",c); 
	return 0;
}

输入 1、4

结果 5

5.三位数反转:例如 127->721

方法一:算数型

#include <stdio.h>

int main(int argc, char *argv[])

{

int a;

scanf("%d",&a);

printf("%d%d%d\n",a%10,a/10%10,a/100);

return 0;

}

方法二:格式化输入(有易错点)

#include <stdio.h>

int main(int argc, char *argv[])

{

int a,b,c;

scanf("%1d%1d%1d",&a,&b,&c);

//“%1d”中的1是指读取一位整数,并且不能出现\n,这两点任何一条出错都不能正常显示

printf("%d%d%d\n",c,b,a);

return 0;

}

  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值