C语言习题答案【2】(仅参考)

1020: 从小到大输出三个整数

题目描述:

输入三个整数,按从小到大的顺序输出这三个数。

输入

2 9 3

输出

2 3 9

示例

#include <iostream>
using namespace std;
int main() {
	int a,b,c,cen=0;
	cin>>a>>b>>c;
	if(a>b) {
		cen=a;
		a=b;
		b=cen;
	}
	if(a>c) {
		cen=a;
		a=c;
		c=cen;
	}
	if(b>c) {
		cen=b;
		b=c;
		c=cen;
	}
	cout<<a<<" "<<b<<" "<<c<<endl;
	return 0;
}
1021: positive, negative, or zero

题目描述:

输入一个整数,判断该数是正数、负数还是零。

输入

3

输出

positive

示例

#include <stdio.h>
#include <iostream>
using namespace std;
int main() {
	int inp_num;
	cin>>inp_num;
	if(inp_num>0) {
		cout<<"positive"<<endl;
	}
	if(inp_num<0) {
		cout<<"negative"<<endl;
	}
	if(inp_num==0) {
		cout<<"zero"<<endl;
	}
	return 0;
}
1022: 龟兔赛跑

题目描述:

龟兔赛跑中,已知乌龟速度为a米每秒,兔子速度为b米每秒,龟兔赛跑的赛程总长度为s米,兔子在比赛中到达终点前的某一时刻睡着了(且仅睡着这一次),耽误了t秒的时间,如果乌龟赢了输出"Turtle win",兔子赢了输出"Rabbit win",否则输出"Tie"。

输入

3 6 12 2

输出

Tie

示例

#include <stdio.h>
#include <iostream>
using namespace std;
int main() {
	int a,b,s,t;
	cin>>a>>b>>s>>t;
	//如果乌龟赢了输出"Turtle win",
	//兔子赢了输出"Rabbit win",
	//否则输出"Tie"。
	double T1=(double)s/a;//乌龟
 double R1=(double)s/b+t;//兔子
	if(T1>R1)) {
		cout<<"Rabbit win"<<endl;
	} else if(T1<R1) {
		cout<<"Turtle win"<<endl;
	} else {
		cout<<"Tie"<<endl;
	}
	return 0;
}
1023: 一元二次方程求解

题目描述:

输入a、b、c,求一元二次方程ax2+bx+c=0的解。

输入

1 -2 1

输出

1.00

提示

输入样例2:3 2 1    输出:-0.33+0.47i -0.33-0.47i
输入样例3:3 2 -1    输出:0.33 -1.00

示例

#include<iostream>
#include<iomanip>
#include<math.h>
using namespace std;
int main() {
	double a,b,c,sum,x1,x2;
	cin>>a>>b>>c;
	cout<<setiosflags(ios::fixed)<<setprecision(2);
	//平方根函数sqrt(x)
	if(fabs(a)<1E-6) {
		cout<<"This is not a quadratic equation"<<endl;
		return 0;
	}
	sum=b*b-4*a*c;
	if(sum>0) {
		x1=(-b+sqrt(sum))/(2*a);
		x2=(-b-sqrt(sum))/(2*a);
		if(x1==x2) {
			cout<<x1<<endl;
		}
		cout<<x1<<" "<<x2<<endl;
	}
	if(sum==0) {
		x1=(-b)/(2*a);
		x2=(-b)/(2*a);
		if(x1==x2) {
			cout<<x1<<endl;
		}

	}
	if(sum<0) {
		float top=(-b)/(2*a);
		int a1=fabs(sum);
		float a2=sqrt(a1);
		float as=a2/(2*a);
		cout<<top<<"+"<<as<<"i"<<endl;
		cout<<top<<"-"<<as<<"i"<<endl;
	}
	return 0;
}
1024: 奇偶判断

题目描述:

输入一个整数,判断该数的奇偶性(“odd”或“even”)。

输入

7

输出

odd

示例

#include<iostream>
using namespace std;
int main() {
	int num;
	cin>>num;
	if(num%2==0) {
		cout<<"even"<<endl;
	}
	if(num%2!=0) {
		cout<<"odd"<<endl;
	}
	return 0;
}
1025: 是否闰年

题目描述:

输入年份year,判断该年是否为闰年。

输入

2021

输出

2021 is not a leap year

示例

#include<iostream>
using namespace std;
int main() {
	int year;
	cin>>year;
	if((year%4==0&&year%100!=0)||year%400==0) {
		cout<<year<<" is a leap year"<<endl;
	} else {
		cout<<year<<" is not a leap year"<<endl;
	}
	return 0;
}
1026: 两个整数中的较大者

题目描述:

输入两个整数,输出其中的较大数。

输入

6 15

输出

15

示例

#include<iostream>
#include<math.h>
using namespace std;
int main() {
	int a,b,max;
	cin>>a>>b;
	a>b?max=a:max=b;
	cout<<max<<endl;
	return 0;
}
1027: 成绩等级

题目描述:

给定一个百分制成绩, 请根据百分制成绩输出其对应的等级。转换关系如下:90分及以上为'A',80~89为'B', 70~79为'C', 60~69为'D',60分以下为'E'。

输入

90

输出

A

示例

//方法不唯一
#include<iostream>
using namespace std;
int main() {
	int a;
	cin>>a;
	if(a>=90 && a<=100) {
		cout<<"A"<<endl;
	}
	if(a>=80 && a<90) {
		cout<<"B"<<endl;
	}
	// 70~79为'C', 60~69为'D',60分以下为'E'。
	if(a>=70 && a<80) {
		cout<<"C"<<endl;
	}
	if(a>=60 && a<70) {
		cout<<"D"<<endl;
	}
	if(a>=0 && a<60) {
		cout<<"E"<<endl;
	}
	return 0;
}
1028: 向0舍入

题目描述:

输入一个双精度浮点数,将其向0舍入到整数。向0舍入的含义是“正数向下舍入,负数向上舍入”。

输入

3.14

输出

3

示例

#include<iostream>
#include<math.h>
using namespace std;
int main() {
	double a;
	cin>>a;
	if(a>0) {
		a=floor(a);
	}
	if(a<0) {
		a=ceil(a);
	}
	cout<<a<<endl;
	return 0;
}
1029: 求最大数与最小数

题目描述:

输入三个整数,输出最大数和最小数。

输入

3 7 9

输出

9 3

示例

#include<iostream>
#include<math.h>
using namespace std;
int main() {
	int a,b,c,cen=0;
	cin>>a>>b>>c;
	if(a>b) {
		cen=a;
		a=b;
		b=cen;
	}
	if(a>c) {
		cen=a;
		a=c;
		c=cen;
	}
	if(b>c) {
		cen=b;
		b=c;
		c=cen;
	}
	cout<<c<<" "<<a<<endl;
	return 0;
}
1030: 四则运算

题目描述:

 输入运算数和四则运算符,输出计算结果。

输入

2.3 5.6 +

输出

7.90

示例

#include<iostream>
using namespace std;
int main() {
	double a,b;
	char c;
	cin>>a>>b>>c;//输入两个浮点数和一个操作符。
	switch(c) {
		case '+'  :
			printf("%.2f\n",a+b);
			break;
		case '-'  :
			printf("%.2f\n",a-b);
			break;
		case '*'  :
			printf("%.2f\n",a*b);
			break;
		case '/'  :
			printf("%.2f\n",a/b);
			break;
	}
	return 0;
}

小源同学:
C语言习题答案1(仅参考)
C语言习题答案2(仅参考)

路漫漫其修远兮,吾将上下而求索。

喜欢的话关注一下,一起进步啦~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云舒卷云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值