电子与通信工程系 C++期末模拟考试

这篇博客包含了多个C++编程题目,包括加密四位数、分段函数、阶乘和数、数组元素调整顺序、十六进制转十进制和最大数与第一个数交换。博主分享了思路和样例代码,旨在帮助读者理解和解决类似问题。
摘要由CSDN通过智能技术生成

随手附上一些代码,未必是最优解,仅供参考。

加密四位数

【问题描述】

输入一个四位数,将其加密后输出。方法是将该数每一位的数字加9,然后除以10取余作为该位上的新数字,最后将千位上的数字和十位上的数字互换,组成加密后的新四位数。 (顺序结构,不考虑特殊情况)

【样例输入】

1368

【样例输出】

5207

【样例说明】

1368的四位数字分别是1、3、6、8,对每个数字加9后对10求余的结果为0、2、5、7,交换千位和十位数字后为5、2、0、7,加密后的新四位数为5207

思路

逐个拆开数字,然后加上9再对10取余。

也可以不用像我写那么麻烦,合在一起一气呵成。

#include<iostream>
using namespace std;
int main()
{
   
	int n,a,b,c,d;
	cin>>n;
	a=n%10;
	n/=10;
	b=n%10;
	n/=10;
	c=n%10;
	n/=10;
	d=n;
	a=(a+9)%10;
	b=(b+9)%10;
	c=(c+9)%10;
	d=(d+9)%10;
	swap(b,d);
	cout<<d<<c<<b<<a;
}

分段函数16

【问题描述】有一分段函数如下,请编写程序,输入x值,输出y值。

在这里插入图片描述

【样例输入1】

-5.5

【样例输出1】

-6.20789

【样例输入2】

0.5

【样例输出2】

1.91619

【样例输入3】

5.5

【样例输出3】

13.1757

思路

选择结构的考查,注意运算细节即可。

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
   
	double x,y;
	cin>>x;
	if(x<-2) y=x-1/sqrt(1+2*sin(x)*sin(x));
	else if(x<1) y=1+1/(x*x+sin(2*x));
	else y=sqrt(abs(3-x*x*x))+cos(x*x);
	cout<<y<<endl;
}

阶乘和数

【问题描述】

  • 13
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值