银行信息科技岗编程题目汇总

本文汇总了银行信息科技岗位面试中常见的编程题目,涵盖判断素数、闰年、字符转换、字符串操作等多个方面。题目难度从基础到进阶,包括但不限于数字操作、字符串处理、算法实现等,适合准备银行面试的技术人员练习。
摘要由CSDN通过智能技术生成

以下分为两部分,第一部分编程题目汇总,第二部分为题目答案。

一、编程题目(三道题,分值是40 40 20,时间50分钟)
1.判断一个数是不是素数?”(质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。自然数,表示物体个数的数0、1、2、3、4、5、6、……叫自然数。)
判断素数
2.“判断从1990到2010年中的瑞年?并打印(1、能整除4且不能整除100 2、能整除400)
判断闰年
3.“输入几个单词,将字母变换成另外一组单词输出?如果字母是i,则变换后的字母是26+i-1
字符转换
4.找出正整数中偶数,并输出相加后的数,要用 long.
5.输入 n 和 b , 找出 1 到 n 中被 b 整除的个数.
6.爬一个或者两个台阶,输入 1 <= n < 90 的数字为台阶数,以输入 0 作为结束标志,输出n个台阶共有多少种上楼方式.
7.N的阶乘
8.输入十个数,最大数和最后一个数交换,最小树和第一个数交换
9.猴子吃桃子题目:猴子第一天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个;第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;以后每天都吃前一天剩下的一半多一个,到第10天想再吃时,只剩下一个桃子了。问第一天共摘了多少个桃子?
10.分段函数实现
11.A,B两个字符串,求在第一个字符串出现,第二个字符串中未出现的,重复只取第一次出现,输出字符串。
12.凯撒密码加密解密,就是给你由大写字母组成的字符串,求出原来的字符串,加密
13.把字符串中的字符a和A换成c输出
14.给你年月日,求出是这年的第几天
15.给你两个数,例如23和456,23 * 456=2 * 4 2 * 5 2 * 6 3 * 4 3 * 5 3 * 6,让你实现这个算法。
https://blog.csdn.net/helloa_world/article/details/86813145
16.是数组调整顺序输出,
17.字符串反转
18.是什么环来着,几个人围成一堆报数淘汰,
19.如果输入一个字母是小写字母将其转换成大写字母
20.比较两个字符串的长度
21.快排
22.一个是数字交换,
23.一个是字符串反转,
24.一个是约瑟夫环问题
已知n个人(以编号0,2,3…n-1分别表示)围坐在一起。从编号为0的人开始报数,数到k的那个人出列;他的下一个人又从1开始报数,数到k的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列,最后一个出列的人为胜利者。求胜利者编号.
25.字符串反转;
26.1+2/3+3/5+4/7+…数列求和,输出结果;
27.输入一个字符串,不同的单词用空格隔开,把这些单词的首字母取出并大写输出,如输入:hello world,输出:HW,不过代码都是要求你实现多行输入的输出的,输入0则停止输入。
28.①输入一个数字要求输出该数字各个位上偶数的和,如输入5584,输出12
29.②输入一组数N和数字b ,求出该组数字中能被b 整除的个数。如输入1 2 3 4 5 6和 2,结果输出为3。
30.③求N阶楼梯共有多少种上楼方式,每次只能上1个或2个台阶。
31.字符串反转
32.数列求和
33.字符串缩写
34.A,B两个字符串,求在第一个字符串出现,第二个字符串中未出现的,重复只取第一次出现,输出字符串。
35.分段函数实现、两个字符串查重、凯撒密码,分值分别是40,40,20。
36.字符串逆转,大小写,数列求和
37.加密解密,就是给你由大写字母组成的字符串,求出原来的字符串,加密 。方式很简单就是字符串后移五位,比如原来是A加密后是F,其余数字等标点符号原样输出.
38.从求组中找出唯一出现一次得数。
39.字符串逆序输出,数列和,小写转大写
40.把字符串中的字符a和A换成c输出。
42.给你年月日,求出是这年的第几天
43.给你两个数,例如23和456,23456=24 25 26 34 35 3*6,让你实现这个算法。
44.给出一串数字123456 将偶数位置的数字输出 246
45.C++给出两个时间,求时间间隔
给出两个时间例如726、1124 即为7点26,11点24,求时间间隔 x h x s
46.把一个数组中的0移动到数组的后面
47.一个是数字交换,一个是字符串反转,还有一个是约瑟夫环问题,
48.数组调整顺序输出,第二道是字符串反转,第三道是什么环来着,几个人围成一堆报数淘汰,感觉不是很难
49.给年月日,判断是方面第几天。
50.小球从100米下落,每次回弹一半距离,第几次落地后的总距离。
51.求阶乘的和,
去掉字符串末尾的空格,
喝汽水问题
52.输入一段话,输出字的个数
53.非完全平分数的判断
54.字符串反转;
55.计算1+2/3+3/5+4/7…
56.给出一个字符串,单词之间用空格隔开,读取这些单词的首字母并大写输出
57.输入数字并排序
58.如果输入一个字母是小写字母将其转换成大写字母
59…比较两个字符串的长度
60.快排
61.给出一串数字123456 将偶数位置的数字输出 246
62.给出两个时间例如726、1124 即为7点26,11点24,求时间间隔 x h x s
63.把一个数组中的0移动到数组的后面
64.给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。
65.给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
66.给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
67.给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。
68.给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。
69.给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。

二、编程题目答案
1.判断一个数是不是素数?”(质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。自然数,表示物体个数的数0、1、2、3、4、5、6、……叫自然数。)
//判断素数
#include
using namespace std;
int issushu(int n)
{
int i = n;
if (i < 2)
return 0;
else
{
for (i = n - 1; i >= 2; i–)
{
if (n%i == 0)
return 0;
}
}
return 1;
}
int main()
{
int n;
cin >> n;
if (issushu(n))
cout << “true” << endl;
else
cout << “false” << endl;
return 0;
}
//method2:
#include
using namespace std;
int issushu(int a)
{
if (a > 2)
{
int i;
for (i=a-1;i>2;i–)
{
if (a%i == 0)
return 1;
else
return 0;
}
}
}
int main()
{
int a; cin >> a;
if (issushu(a))
cout << “a是素数” << endl;
else
cout << “a不是素数” << endl;
return 0;
}

2.“判断从1990到2010年中的瑞年?并打印(1、能整除4且不能整除100 2、能整除400)
判断闰年
#include
using namespace std;
int main()
{
//输出从1990年到2010年之间的闰年
for (int i = 1990; i <= 2010; i++)
{
if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)
{
cout << i << endl;
}
}
return 0;
}
//method2:
//判断从1990到2010年中的瑞年?并打印
#include
using namespace std;
int main()
{
for (int i = 1990; i <= 2010; i++)
{
if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)
cout << i<<endl;
}
return 0;
system(“pause”);
}

3.“输入几个单词,将字母变换成另外一组单词输出?如果字母是i,则变换后的字母是26+i-1
字符转换
#include
using namespace std;
int main()
{
char a[100]; int n = 0;
cin.getline(a, 100);//cin.getline(字符指针(char*),字符个数N(int),结束符(char));函数会一次读取多个字符(包括空白字符)直到读满N-1个,或者遇到指定的结束符为止。若不指定结束符,则默认结束符为’\0’ 只用于取字符
while (a[n] != ‘\0’)
{
n++;
}
for (int i = 0; i < n; i++)
{
if (a[i] >= ‘a’&&a[i] <= ‘z’)
{
a[i] = ‘z’ - (a[i] - ‘a’);
}
if (a[i] >= ‘A’&&a[i] <= ‘Z’)
{
a[i] = ‘Z’ - (a[i] - ‘A’);
}
}
for (int i = 0; i < n; i++)
{
cout << a[i];
}
cout << endl;
return 0;
}
//method2:
#include
using namespace std;
int main()
{
char a[100];
cin.getline(a,100);
int len = strlen(a);
for (int i = 0; i < len; i++)
{
if (a[i] >=‘a’&&a[i] <=‘z’)
a[i] = ‘z’ - (a[i] - ‘a’);
if (a[i] >= ‘A’&&a[i] <= ‘Z’)
a[i] = ‘Z’ - (a[i] - ‘A’);
}
cout << a << endl;
return 0;
}

4.找出正整数中偶数,并输出相加后的数,要用 long.
//1.找出正整数中偶数,并输出相加后的数,要用 long.
#include
using namespace std;
int main()
{
int a;
cin>>a;
//计算数字长度
int len = 1;
int t = a;
while (t>9)
{
len *= 10;
t /= 10;
}
//printf("%d",len);
//找出偶数并求和
int sum = 0;
while (a>0)
{
int i = a / len;
if (i % 2 == 0)
{
sum += i;
}
a = a%len;
len /= 10;
}
cout << sum;
return 0;
}
//method

  • 23
    点赞
  • 202
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值