头歌C语言实验 练习2:顺序结构

第1关:鸡兔同笼问题

问题描述
现有一笼子,里面有鸡和兔子若干只,数一数,共有头a个,腿b条,聪明的你能否编写一段程序让计算机自动计算出笼子里到底有多少只鸡多少只兔呢?

输入
两个由空格分开的正整数,分别表示笼子中头的数量a和脚的数量b。

输出
输出用空格分开的两个整数,分别表示笼中鸡的数量和兔的数量。

输入示例
5 16

输出示例
2 3

1
2
3
4
5
6
7
8
9
#include<stdio.h>
int main(){
int a,b,chicken,rabbit,t;
scanf("%d %d",&a,&b);
chicken=(4*a-b)/2;
rabbit=a-chicken;
printf("%d %d",chicken,rabbit);
return 0;
}

第2关:求解一元二次方程的根 I

问题描述
假设有形如:ax2+bx+c=0的一元二次方程,其中a,b,c是任意实数且满足a≠0并且b2-4ac≥0,请编写一段程序,根据用户输入的a,b,c的值,计算并输出一元二次方程的两个实根。

输入
三个用空格分开的实数,分别表示一元二次方程中的三个系数,并且一定满足a≠0并且b2-4ac≥0。

输出
在两行中分别输出一元二次方程的两个实根,输出结果保留2位小数。
注意输出顺序:第一行输出加法运算的根,第二行输出减法运算的根。

输入示例
2.3 6.4 -3

输出示例
x1=0.41
x2=-3.19

提示
实数使用float类型即可,否则有可能造成结果不正确。

1
2
3
4
5
6
7
8
9
10
#include<stdio.h>
#include<math.h>
int main(){
float a,b,c,x1,x2;
scanf("%f %f %f",&a,&b,&c);
x1=(-b+sqrt(pow(b,2)-4*a*c))/(2*a);
x2=(-b-sqrt(pow(b,2)-4*a*c))/(2*a);
printf("x1=%.2f\nx2=%.2f",x1,x2);
return 0;
}

第3关:超市收银机

问题描述
假设在一家水果超市中,只出售苹果和香蕉两种水果,其中苹果4.2元/kg,香蕉3.5元/kg。请为该水果超市编写一个简单的收银程序:当输入顾客要购买的苹果和香蕉的重量后,计算并输出应付金额,并且在输入顾客的实际付款后,输出应该找补的金额。

输入
输入数据包括两行。
第一行是用空格分开的两个实数,分别表示顾客要购买的苹果和香蕉的重量,单位为公斤;
第二行是一个实数,表示顾客的实际付款金额,单位为元。

输出
输出包括两行:
第一行输出计算出的应付金额,单位为元,保留2位小数;
第二行输出应该找补顾客的金额,单位为元,保留2位小数。

输入示例
2.3 4.4
30

输出示例
应付金额:25.06元
找补金额:4.94元

1
2
3
4
5
6
7
8
9
10
11
12
13
#include<stdio.h>
#define apple 4.2
#define banana 3.5
int main(){
float a,b,price,money;
scanf("%f %f",&a,&b);
price=a*apple+b*banana;
printf("应付金额:%.2f元\n",price);
scanf("%f",&money);
money=money-price;
printf("找补金额:%.2f元\n",money);
return 0;
}