C++三级抽测题目(答案+题目)2

今天我给大家出一套C++三级考题

限时3小时,大家加油!!!

题目1:求一个两位数的个位和十位的和

说明

从键盘读入一个两位的整数n,请求出这个两位整数个位和十位的和是多少?

输入格式

一个两位的整数n。

输出格式

一个整数,代表n个位和十位的和。

样例

输入数据 1

24

输出数据 1

6

题目2: 拆位练习-求一个两位数倒序的结果

说明

请输出一个两位的整数n,倒过来的数,也就是输出这个两位数个位和十位颠倒的结果。

比如:整数23倒过来是32,整数18倒过来是81,整数20倒过来是2。

输入格式

两位整数n。

输出格式

n倒过来的整数。

样例

输入数据 1

16

输出数据 1

61

题目3: 拆位练习-求任意三位数各个数位上数字的和

说明

对于一个任意的三位自然数X,编程计算其各个数位上的数字之和S。

输入格式

输入一行,只有一个整数x(100<=x<=999)  

输出格式

输出只有一行,包括1个整数

样例

输入数据 1

123

输出数据 1

6

题目4:拆位练习-输入一个三位数,把个位和百位对调后输出

说明

输入一个三位自然数,然后把这个数的百位数与个位数对调,输出对调后的数

输入格式

输入一行,只有一个整数x(100<=x<=999)。

输出格式

输出只有一行,包括1个整数。

样例

输入数据 1

123

输出数据 1

321

题目5:拆位练习-四位数的和

说明

请从键盘读入一个四位整数,求这个四位整数各个位的和是多少?

输入格式

一个四位整数n

输出格式

这个四位数各个位的和

样例

输入数据 1

3456

输出数据 1

18

 题目6:拆位练习-两位数运算

说明

小丽在编程课上学会了拆位运算,她已经可以拆出一个两位整数的十位和个位了,她想知道这个整数的十位/个位的结果是多少,请编程帮她实现?(请注意,计算结果要保留1位小数)

输入格式

输入一个两位的正整数n,且n的个位一定不为0。

输出格式

输出这个两位正整数十位除以个位的计算结果,结果保留1位小数。

样例

输入数据 1

72

输出数据 1

3.5

题目7:拆位练习-算算和是多少

说明

输入一个三位正整数,然后与它倒过来的数相加,输出和。
如:输入167,则和为167+761=928

输入格式

只有一行,一个三位正整数。

输出格式

一个正整数

样例

输入数据 1

167

输出数据 1

928

题目8:拆位练习-倒序输出一个四位整数 

说明

任意读入一个四位整数,颠倒后输出。

输入格式

输入一行,只有一个整数x(1000<=x<=9999)。

输出格式

输出只有一行,包括1个整数。

样例

输入数据 1

4567

输出数据 1

7654

题目9:拆位练习-求一个5位数的各个位之和

说明

从键盘读入一个5位的正整数,请求出这个5位数的各个位之和;

输入格式

一个5位的正整数n

输出格式

这个5位数的各个位之和

样例

输入数据 1

12345

输出数据 1

15

题目10:拆位练习-三位数运算

说明

小丽在编程课上学会了拆位运算,她已经可以拆出一个三位整数的百位、十位和个位了,她想知道这个整数的(百位+十位)/(十位+个位)的结果是多少,请编程帮她实现?(请注意,计算结果要保留2位小数)

比如:整数135的(百位+十位)/(十位+个位)的计算结果 = (1+3)/(3+5) = 4 / 8 = 0.50。

输入格式

读入一个三位的正整数n(n的各个位中都不含数字0)

输出格式

输出这个三位正整数(百位+十位)除以(十位+个位)的计算结果,保留2位小数。

样例

输入数据 1

135

输出数据 1

0.50

 

 题目11:拆位练习-四位数的计算

说明

小丽在编程课上学会了拆位运算,她已经可以拆出一个四位整数的千位、百位、十位和个位了,她想知道这个整数的前两位和后两位如果分别组成两个新的整数x和y的,那么x+y和x/y的计算结果分别是多少,请编程帮她实现?(请注意,除法运算的计算结果要保留1位小数)

比如:整数1208如果将前两位和后两位分别组成两个新数,那么这两个新数分别是x = 12和y = 8,计算结果分别为

x + y = 12 + 8 = 20

x / y = 12 / 8 = 1.5

输入格式

读入一个四位整数n(n的十位和个位不可能同时为0,也就是,读入的整数不可能是类似1200这样的整数)

输出格式

按题意要求输出计算结果,分两行输出

第1行输出前两位和后两位组成新数的和

第2行输出前两位和后两位组成新数相除的结果,计算结果保留1位小数

样例

输入数据 1

1208

输出数据 1

20
1.5

题目12:拆位练习-求六位整数的各个位

说明

从键盘读入一个6位整数n,请求出这个6位整数各个位分别是多少,从高位到低位依次输出,每行一个。

输入格式

一个6位整数n。

输出格式

第1行输出6位数的十万位

第2行输出6位数的万位

第3行输出6位数的千位

第4行输出6位数的百位

第5行输出6位数的十位

第6行输出6位数的个位

样例

输入数据 1

123456

输出数据 1

1
2
3
4
5
6

 

题目13:拆位练习-加密四位数

说明

某军事单位用4位整数来传递信息,传递之前要求先对这个4位数进行加密。加密的方式是每一位都先加上5然后对10取余数,再将得到的新数颠倒过来。

例如:原数是1379,那么每位加5对10取余数的结果为6824,然后颠倒该数,得到新数:4286。

再比如:原数是2570,那么每位加5对10取余数的结果为7025,然后颠倒高数,得到新数:5207。

请根据加密要求,写出加密算法!

输入格式

加密前的4位数

输出格式

加密后的结果

样例

输入数据 1

1379

输出数据 1

4286

题目1答案:

代码

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

 

题目2答案:

代码

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

题目3答案: 

代码

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

题目4答案: 

代码

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

题目5答案: 

代码

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

题目6答案: 

代码

#include<bits/stdc++.h>
using namespace std;

int main()
{
	int n;
	double a,n1,n2;
	cin>>n;
	n2=n/10;
	n1=n%10;
	a=n2/n1;
	cout<<fixed<<setprecision(1)<<a;
}

题目7答案: 

代码

#include<bits/stdc++.h>
using namespace std;

int main()
{
	int a,b,c;
	cin>>a;
	b=a/100+a/10%10*10+a%10*100;
	c=a+b;
	cout<<c;
}

题目8答案:

代码

#include<bits/stdc++.h>
using namespace std;
int main(){
	int x,b,s,g,q;
	cin>>x;
	q=x/1000;
	b=x/100%10;
	g=x%10;
	s=x/10%10;
	cout<<q+b*10+s*100+g*1000<<endl;
}

 

题目9答案:

代码

#include<bits/stdc++.h>
using namespace std;
int main(){
	int x,b,s,g,q,w;
	cin>>x;
	w=x/10000;
	q=x/1000%10;
	b=x/100%10;
	g=x%10;
	s=x/10%10;
	cout<<w+q+b+s+g<<endl;
}

题目10答案: 

代码

#include<bits/stdc++.h>
using namespace std;
int main(){
	int x,b,s,g;
	cin>>x;
	b=x/100;
	g=x%10;
	s=x/10%10;
	cout<<fixed<<setprecision(2)<<(b+s)*1.0/(s+g)<<endl;
}

题目11答案: 

代码

#include<bits/stdc++.h>
using namespace std;
int main(){
	int q,b,s,g,x,y,n;
	cin>>n;
	q=n/1000;
	b=n/100%10;
	s=n/10%10;
	g=n%10;
	x=q*10+b;
	y=s*10+g;
	cout<<x+y<<endl;
	cout<<fixed<<setprecision(1)<<x*1.0/y<<endl;
}

题目12答案: 

代码

#include<bits/stdc++.h>
using namespace std;
int main(){
	int q,b,s,g,w,sw,n;
	cin>>n;
	sw=n/100000;
	w=n/10000%10;
	q=n/1000%10;
	b=n/100%10;
	s=n/10%10;
	g=n%10;
	cout<<sw<<endl;
	cout<<w<<endl;
	cout<<q<<endl;
	cout<<b<<endl;
	cout<<s<<endl;
	cout<<g<<endl;
}

题目13答案: 

代码

#include<stdio.h>
int addm(int t)
{
	int a,b,c,d,a1,b1,c1,d1,t1;
	a=t/1000;
	b=t/100%10;
	c=t/10%10;
	d=t%10;
	a1=(a+5)%10;
	b1=(b+5)%10;
	c1=(c+5)%10;
	d1=(d+5)%10;
	t1=d1*1000+c1*100+b1*10+a1;
	return t1;
}
int jiem(int t)
{
	int a,b,c,d,a1,b1,c1,d1,t1;
	a=t/1000;
	b=t/100%10;
	c=t/10%10;
	d=t%10;
	a1=(a-5)%10;
	b1=(b-5)%10;
	c1=(c-5)%10;
	d1=(d-5)%10;
	t1=d1*1000+c1*100+b1*10+a1;
	return t1; 
}
int main()
{
	int n;
	scanf("%d",&n);
	int n1=addm(n);
	printf("%d\n",n1);
	return 0;	
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值