C语言程序设计(第3版)课后习题——针对本人的复习

从第三章开始做了啦!

习题3

第一小题,分析下列结果
(1)

#include<stdio.h>
main()
{
	int a = 12, b = 3;
	float x = 18.5, y = 4.6;
	printf("%f\n", (float)(a * b) / 2);
	printf("%d\n", (int)x % (int)y);
}

贴图了
在这里插入图片描述

(2)

#include<stdio.h>
main()
{
	int x = 32, y =81,p,q;
	p = x++;
	q = --y;
	printf("%d %d\n", p,q);
	printf("%d %d\n", x ,y);
}

结果贴图
在这里插入图片描述
第一小题没啥技术含量的

第二题
参考例3.1程序,从键盘任意输入一个3位整数,编程计算并输出它的逆序列数(忽略整数前的正负号)。例如,输入-123,则忽略负号,由123分离出其百位1、十位2、各个位3,然后计算3100+210+1=321,并输出321。

例题3.1
计算并输出一个三位整数的个位,十位,百位数字之和。

//例题的答案
#include<stdio.h>
main()
{
	int x=153,b0,b1,b2,sum;
	b2=x/100;
	b1=(x-b2*100)/10;
	b0=x%10;
	sum=b2+b1+b0;
	printf("b2=%d,b1=%d,b0=%d,sum=%d\n",b2,b1,b0,sum);
}

上代码,还行吧

#define _CRT_SECURE_NO_WARNINGS//这个是在vs2019里面编译的,这个编译器需要加上这个,否则scanf通过不了
#include<stdio.h>
main()
{
	int x, a, b, c;
	scanf("%d", &x);
	if (x < 0)
	{
		x = -x;
	}
	a = x / 100;
	b = (x - 100 * a) / 10;
	c = x - a * 100 - b * 10;
	x = c * 100 + b * 10 + a;
	printf("%d", x);
}

第三题
设银行定期存款的年利率rate为2.25%,已知存款期为n年,存款本金为capital元,试编程计算并输出n年后的本利之和deposit
上代码

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
main()
{
	int n;
	float capital, deposit,rate=0.0225;
	printf("输入本金、存款年数: ");
		scanf("%f %d", &capital, &n);
	deposit = rate * n * capital+capital;
	printf("本利之和:%f\n", deposit);
}

第四题
编程计算并输出一元二次方程ax²+bx+c=0的两个实根,(-b±(b²-4ac)½)/2a,其中a、b、c的值由用户从键盘输入,假设a、b、c的值能够保证方程有两个不相等的实根(即b²-4ac>0)。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
main()
{
	int a, b, c;
	float x1, x2;
	printf("输入一元二次方程的三个参数a、b、c:");
	scanf("%d %d %d", &a, &b, &c);
	x1 = (float)((-b + sqrt(b * b - 4 * a * c)) / (2 * a));
	x2= (float)((-b - sqrt(b * b - 4 * a * c)) / (2 * a));
	printf("\n两个结果x1=%f,x2=%f", x1, x2);
}

**

第四章

**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值