#254. No.4 | 参考答案

No.4 | 参考答案

答案仅作为参考,同学们应当独立完成。

P2求圆环的面积

#include<bits/stdc++.h>
//#include<iostream>
//#include<iomanip>
//#include<algorithm>
//#include<cmath>
using namespace std;

const double PI=3.14;

int main() {
	int r1,r2;
	cin>>r1>>r2;
	
	double s = PI*(pow(r1, 2)-r2*r2);
	cout<<fixed<<setprecision(2)<<s;  
	
	return 0;
}
// Ctrl + A  全选
// ctrl + c  复制
// Ctrl + v  粘贴

P7加密四位数

#include<iostream>
using namespace std; 
int main() {
	int n; cin>>n;
//	n = 1234
	int a = n/1000;
	int b = n/100%10;
	int c = n/10%10;
	int d = n%10;
	
	a = (a+5) % 10;
	b = (b+5) % 10;
	c = (c+5) % 10;
	d = (d+5) % 10;
	cout<<d<<c<<b<<a;
	return 0;
}

P9糖果共享

#include<iostream>
using namespace std;
int main() {
	int n;  
	scanf("%d", &n); //cin>>n;
	printf("%d\n", n/2); //cout<<n/2;
	return 0;
}

/*占位符号

char  %c
int   %d
long long [int]   %lld 
float   %f
double  %lf  */

P11两数比大小

#include<bits/stdc++.h>
using namespace std;
 
int main() {
	int a,b;  
	scanf("%d%d", &a, &b); //cin>>n;
	printf("%d\n", max(a,b)); //cout<<n/2;
	return 0;
}

P12判断能否被3,5,7整除

#include<iostream>
using namespace std;

int main() {
	int  n, cnt=0; // 计数器,看3,5,7是否合法 
	scanf("%d", &n);
	
	if(n%3==0) {
		printf("3 ");
		cnt++;
	}
	if(n%5==0) printf("5 "), cnt++;
	if(n%7==0) printf("7 "), cnt++;
	
	if(cnt==0) printf("n");
	return 0;
}

P13海伦公式

#include<iostream>
#include<cmath>
using namespace std;
int main() {
	double a,b,c;
	scanf("%lf%lf%lf", &a,&b,&c);

	if(a+b>c && a+c > b && b+c>a) {
		double p = (a+b+c)/2;
		double s = sqrt(p*(p-a) *(p-b) *(p-c));
		printf("%.1lf", s);
	}else puts("0");

	return 0;
}

P16判断某年某月的天数

#include<iostream>
using namespace std;
int main() {
    int y, m, d=31; cin>>y>>m;
//    30: 4 6 9 11
	if(m==4||m==6||m==9||m==11) d=30;
	else if(m==2){
		if(y%400==0 || y%4==0 && y%100!=0) d=29;
		else d=28;
	}
	cout<<d;
    return 0;
}

P19苹果和虫子/Apples Prologue

#include<iostream>
#include<cmath>
using namespace std;
int main() {
	int m,t,s, ans=0;
	cin>>m>>t>>s;
	if(t!=0){
		int p = ceil(1.0*s/t);
		if(m > p) ans = m-p;
	}
//	ans = t && m>ceil(1.0*s/t) ? m-ceil(1.0*s/t):0;
	cout<<ans;
	return 0;
}

P20写评语

#include<iostream>
using namespace std;

int main() {
	int score; cin>>score;
	if(score >= 90) cout<<"Excellent";
	else if(score >= 80) cout<<"Good";
	else if(score >= 60) cout<<"Pass";
	else cout<<"Fail";

	return 0;
}

P21求表达式和

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n, s=0; cin>>n;
	for(int i=1; i<=n; i++){
		s += i;
	}
	cout<<s;
	return 0;
}

P22求分数和

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n; scanf("%d", &n);
	double s=0;
	for(int i=1; i<=n; i++) s += 1.0/i;
	printf("%.3lf",s);
//	cout<<fixed<<setprecision(3)<<s;
	return 0;
}

P23鸡兔同笼问题

#include<iostream>
using namespace std;
int main() {
	int m,n; 
	scanf("%d%d", &m,&n);
//	int p = (n-2*m)/2;
//	printf("%d %d", m-p, p);

	for(int a=0; a<=m; a++){
		int b = m-a; // 兔子的数量
		if(a*2 + b*4 == n){
			printf("%d %d\n",a,b);
			break;
		} 
	}
	return 0;
}