牛客竞赛语法入门班顺序结构习题(重现赛)(1016-1030)

本篇包含:

1、1016-计算带余除法

2、1017-水题再次来袭:明天星期几?

3、1018-开学?

4、1019-helloworld

5、1020-a+b

6、1021-整数的个位

7、1022-整数的十位

8、1023-反向输出一个四位数

9、1024-总成绩和平均分计算

10、1025-计算平均成绩

11、1026-牛牛学梯形

12、1027-牛牛学矩形

13、1028-牛牛学立体

14、1029-计算三角形的周长和面积

15、1030-你能活多少秒

 本篇包含考点:

1、除法、取模运算

2、标准化格式输出

3、梯形、矩形、三角形的面积公式和周长公式

4、海伦公式

5、长方体的体积公式、表面积公式


1016-计算带余除法

 

参考代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int a,b;
	cin>>a>>b;
	cout<<a/b<<' '<<a%b;
}

 解析:

包含输入的简单输出


1017-水题再次来袭:明天星期几?

 

 参考代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int a;
	cin>>a;
	if(a<=6) cout<<a+1;
	else cout<<(a+1)%7;
}

 解析:

可以全部用 if 语句做判断输出

也可以和笔者一样用 if else 


1018-开学?

  参考代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int a,b;
	cin>>a>>b;
	int x=(a+b)%7;
	if(x!=0) cout<<x;
	else cout<<7<<endl;
}

 解析:

星期几和延后时间相加再模7,就可以以7为单位进行计算,不过要注意的是,由于是取模运算,所以当7%7时,结果为0,所以我们要特判结果为0时,输出为7


1019-helloworld

 

   参考代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
	string s="hello world";
	for(int i=0;i<s.length();i++){
		cout<<char(s[i]+1);
	}
}

 解析:

这道题可以自己计算为结果以后用 printf 或者 cout 输出

也可以和笔者一样懒得算


1020-a+b

 

   参考代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int a,b;
	cin>>a>>b;
	int ab=a+b;
	int wei=0;
	while(ab>0){
		wei++;
		ab/=16;
	}
	//cout<<wei<<endl;
	ab=a+b;
	string s="0123456789abcdef";
	for(int i=0;i<wei;i++){
		int sum=1;
		for(int j=wei-i-1;j>0;j--){
			sum*=16;
		}
		int x=ab/sum;
		//cout<<sum<<endl;
		if(sum==1) x=ab;
		ab-=x*sum;
		cout<<s[x];
	}
}

 解析:

不知道是不是笔者写复杂了(摸鼻子)

就笔者而言,没有观察过更简便的做法,如果读者们有更好的做法,欢迎评论告诉我


1021-整数的个位

 

 参考代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int a;
	cin>>a;
	cout<<a%10;
}

 解析:

大家都知道,取个位用的是%10操作


1022-整数的十位

 

 参考代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int a;
	cin>>a;
	cout<<(a%100)/10;
}

解析:

这题是上一题的小进阶版

先%100取到个位和十位,再 /10去掉个位即可


1023-反向输出一个四位数

  参考代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
	string s;
	cin>>s;
	for(int i=s.length()-1;i>=0;i--){
		cout<<s[i];
	}
}

解析:

读者们可以边除边输出答案,因为给定的就是四位数,

不过笔者懒,还是用的字符串+for 循环


1024-总成绩和平均分计算

 

  参考代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
	double a,b,c;
	cin>>a>>b>>c;
	double sum=a+b+c;
	double ave=sum/3.0;
	printf("%.2f %.2f",sum,ave);
}

解析:

计算总成绩直接相加即可

计算平均成绩,则要 /3.0, 如果 /3的话,有可能答案会错误


1025-计算平均成绩

 

  参考代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int a,b,c,d,e;
	cin>>a>>b>>c>>d>>e;
	float x=(a+b+c+d+e)/5.0;
	printf("%.1f",x);
}

解析:

虽然也可以用 for 循环做,但是这样更简单


1026-牛牛学梯形

  参考代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int up,down,height;
	cin>>up>>down>>height;
	float m=(up+down)*height/2.0;
	printf("%.3f",m);
}

解析:

梯形的面积公式:(up+down)* height /2

注意这里要用 2.0 避免出现精度错误


1027-牛牛学矩形

 

  参考代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int a,b;
	cin>>a>>b;
	cout<<(a+b)*2<<endl;
	cout<<a*b<<endl;
}

解析:

长方形的面积公式:长 * 宽

长方形的周长公式:(长+宽)* 2


1028-牛牛学立体

 

 参考代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int a,b,c;
	cin>>a>>b>>c;
	cout<<a*b*2+a*c*2+b*c*2<<endl;
	cout<<a*b*c<<endl;
}

解析:

长方形的表面积公式:2 *(a*b+a*c+b*c)

长方形的体积公式:a*b*c


1029-计算三角形的周长和面积

 

  参考代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
	float a,b,c;
	cin>>a>>b>>c;
	float cir=a+b+c;
	float area,p;
	p=cir/2.0;
	p=p*(p-a)*(p-b)*(p-c);
	area=sqrt(p);
	printf("circumference=%.2f area=%.2f",cir,area);
}

解析:

三角形的周长公式:a+b+c

三角形的面积公式:(海伦公式)

S=√p(p-a)(p-b)(p-c),其中p=(a+b+c)


 1030-你能活多少秒

 参考代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
	long long n=31560000;
	int age;
	cin>>age;
	cout<<age*n<<endl;
}

解析:

简单的输入输出


如果大家有不懂的,或者文章有何不正,都欢迎评论留言进行讨论或者私信作者 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值