计算机二级编程题题库

计算机二级编程题的实现

废话不多说,直接上代码。主要用c++实现,不过有的也会有c和c++混着用的情况。

#include<iostream>
#include<string>
#include<vector>
#include<cmath>
#include<iomanip>
using namespace std;
//求100以内能被17整除的最大自然数
void Q1() {
	int i = 100;
	for (; i > 0; i--) {
		if (i % 17 == 0) {
			cout << i << endl;
			return;
		}
	}
}
//已知a,b,c都是1位整数,求abc+cba=1333时的abc
void Q2() {
	for (int i = 0; i < 10; i++) {
		for (int j = 0; j < 10; j++) {
			for (int k = 0; k < 10; k++) {
				if ((i * 100 + j * 10 + k) + (k * 100 + j * 10 + i) == 1333) {
					cout << i << j << k << endl;
					return;
				}
			}
		}
	}
}
//200到400之间不能被3整除的整数的和
void Q3() {
	int sum = 0;
	for (int i = 200; i < 401; i++) {
		if (i % 3 != 0) {
			cout << i << " ";
			sum += i;
		}
	}
	cout << sum << endl;
}
//输入10个数字,统计非负数的个数,计算非负数的和
void Q4(int a[],int len) {
	int sum = 0;
	int count = 0;
	for (int i = 0; i < len; i++) {
		if (a[i] < 0) {
			count++;
			sum += a[i];
		}
	}
	cout << "非负数有" << count << "个,其和为:" << sum << endl;
	//测试函数如下
	/*
	int arr[] = { -1,-2,-3,1,2,4,5,1,-9,-16 };
	int len = sizeof(arr) / sizeof(arr[0]);
	Q4(arr,len);
	*/
}
//100以内自然偶数和
void Q5() {
	int sum = 0;
	for (int i = 0; i < 100; i++) {
		if (i % 2 == 0) {
			cout << i << " ";
			sum += i;
		}
	}
	cout << sum << endl;
}
//五个数求和并输出
void Q6(int a[]) {
	int sum = 0;
	for (int i = 0; i < 5; i++) {
		sum += a[i];
	}
	cout << sum << endl;
	/*
	测试函数:
	int a[] = { 1,2,3,4,5 };
	Q6(a);
	*/
}
//求1到101每三个一乘的和 1*2*3+3*4*5+....+99*100*101
void Q7() {
	int sum = 0;
	for (int i = 1; i <= 99; i+=2) {
		cout << i << "*" << i + 1 << "*" << i + 2;
		if (i != 99) cout << "+";
		else cout << "=";
		sum += i * (i + 1) * (i + 2);
	}
	cout << sum << endl;
}
//字符串中的所有字符a用*代替
void Q8(char s[]) {
	int i = 0;
	while (s[i]!='\0') {
		if (s[i] == 'a') {
			s[i] = '*';
		}
		i++;
	}
	/*
	* 测试函数:
	* char s[] = "I love china aaa a";
	Q8(s);
	cout << s;
	*/
}
//数组[1,2,3,4,5]逆序
void Q9Reverse(int a[], int len) {
	int temp=0;
	for (int i = 0; i < len / 2; i++) {
		temp = a[i];
		a[i] = a[len - 1 - i];
		a[len - 1 - i] = temp;
	}
	/*
	* 测试函数:
	* int a[] = { 1,2,3,4,5 };
	Q9Reverse(a,5);
	for (int i = 0; i < 5; i++) {
		cout << a[i] << " ";
	}
	*/
}
//第十题丢失
//判断输入正负、奇偶,正数输出z;负数f;偶数o,奇数j
void Q11() {
	int a;
	cin >> a;
	if (a % 2 == 0) cout << "o" << endl;
	else cout << "j" << endl;
	if (a >= 0) cout << "z" << endl;
	else cout << "f" << endl;
}
//1-200之间不能被5整除的整数和
void Q12() {
	int sum = 0;
	for (int i = 0; i <= 200; i++) {
		if (i % 5 != 0) {
			cout << i << " ";
			sum += i;
		}
	}
	cout << endl;
	cout << sum;
}
//输入n,a,计算a+aa+aaa+....+aaaaaa(n个a)
void Q13() {
	int n, a;
	int temp;
	cin >> n >> a;
	temp = a;
	int sum = 0;
	for (int i = 1; i <= n; i++) {
		cout <<  temp<< " ";
		sum += temp;
		temp = pow(10, i) * a + temp;
	}
	cout << endl;
	cout << sum;
}
//求五个数的最大值和平均值
void Q14() {
	int a[] = { 15,231,25,654,33 };
	int max = 0;
	double sum = 0;
	for (int i = 0; i < 5; i++) {
		if (a[i] > max) max = a[i];
		sum += a[i];
	}
	cout << "最大值:" << max << ",平均值:" << sum / 5 << endl;
}
//输出200-400能被3整除且个位是6的
void Q15() {
	for (int i = 200; i <= 400; i++) {
		if ((i % 3 == 0) && (i % 10 == 6)) {
			cout << i << " ";
		}
	}
	cout << endl;
}
//去掉字符串之中的'a'
void Q16() {
	//真的去掉
	char s[] = "aaaaacjdalksbaaa";
	int len = strlen(s);
	char* s1 = new char;
	int i = 0;
	int j = 0;
	while (s[i]) {
		if (s[i] != 'a') {
			s1[j++] = s[i];
		}
		i++;
	}
	s1[j] = '\0';
	cout << s1 << endl;
	//假的去掉
	i = 0;
	while (s[i]) {
		if (s[i] != 'a') cout << s[i];
		i++;
	}
}
//200-400之间不能被7整除的整数和
void Q17() {
	int sum = 0;
	for (int i = 200; i <= 400; i++) {
		if (i % 7 != 0) {
			cout << i << " ";
			sum += i;
		}
	}
	cout << endl;
	cout << sum << endl;
}
//200-400之间不能被5整除的整数和
void Q18() {
	int sum = 0;
	for (int i = 200; i <= 400; i++) {
		if (i % 5 != 0) {
			cout << i << " ";
			sum += i;
		}
	}
	cout << endl;
	cout << sum << endl;
}
//统计十个数中非正数的个数及正数的和
void Q19() {
	int count = 0;
	int sum = 0;
	int a[] = { 1,-23,4,-1,5,-52,1,5,6,7 };
	for (int i = 0; i < 10; i++) {
		if (a[i] <= 0) {
			count++;
			sum += a[i];
		}
	}
	cout << "非正数有:" << count << "个,和为:" << sum << endl;
}
//字符串中大写字母变小写字母
void Q20() {
	char s1[] = "AaBbCcDd";
	char index = 'A' - 'a';
	int i = 0;
	while (s1[i]) {
		if (s1[i] >= 'A' && s1[i] <= 'Z') {
			s1[i] -= index;
		}
		i++;
	}
	cout << s1 << endl;
}
//打印所有水仙花数
void Q21() {
	int a, b, c;
	for (int i = 100; i < 1000; i++) {
		a = i % 10;
		b = i / 10 % 10;
		c = i / 100 % 10;
		if (pow(a, 3) + pow(b, 3) + pow(c, 3) == i) {
			cout << i << endl;
		}
	}
}
//100米自由落下的球,每次反弹原来高度一半,求第十次共经过多少米,反弹多高
void Q22() {
	double sum =0;
	double height = 100;
	for (int i = 0; i < 10; i++) {
		sum += height; 
		height /= 2;
		sum += height;
		cout << "总路程:" << sum << "反弹高度:" << height << endl;
	}
}
//输出0-200能被3整除且个位是6的
void Q23() {
	for (int i = 0; i <= 200; i++) {
		if ((i % 3 == 0) && (i % 10 == 6)) {
			cout << i << " ";
		}
	}
	cout << endl;
}
//计算一个数的阶乘
int Q24(int n) {
	if (n == 1) return 1;
	else return n * Q24(n - 1);
}
//判断从键盘输入的字符中数字的个数,大写字母的个数,小写字母的个数,其他字符的个数
//*作为字符输入结束标志
void Q25() {
	int UppercaseLetters = 0;
	int LowercaseLetters = 0;
	int number = 0;
	int others = 0;
	string s="2021-11-17 Best wishes For YOU*";
	//cin >> s;
	int i = 0;
	while (s[i] != '*') {
		if (s[i] >= 'A' && s[i] <= 'Z') UppercaseLetters++;
		else if (s[i] >= 'a' && s[i] <= 'z') LowercaseLetters++;
		else if (s[i] >= '0' && s[i] <= '9') number++;
		else others++;
		i++;
	}
	cout << "大写、小写、数字、其他分别有:" << UppercaseLetters << " "
		<< LowercaseLetters << " " << number << " " << others << "个" << endl;
}
//循环打印平行四边形
/*    ****
*    ****
*   ****
*  ****
* ****
*/
void Q26() {
	int width;
	for (int i = 0; i < 5; i++) {
		width = 4 - i;
		while (width--) cout << " ";
		cout << "****" << endl;
	}
}
//数组实现字符串逆序输出
void Q27() {
	char s1[] = "I love China";
	for (int i = strlen(s1); i >= 0; i--) {
		cout << s1[i];
	}
}
//求1-1/2+1/3-1/4......+1/99-1/100
void Q28() {
	double sum = 0;
	double n = 1;
	double a = 1;
	for (int i = 1; i <= 100; i++) {
		a = pow(-1, i - 1) * (1 / n);
		sum += a;
		n++;
	}
	cout << endl;
	cout << sum << endl;
}
//3个学生4门课成绩,输出每个学生总分和平均分并输出,保留一位小数
void Q29() {
	int a1[] = { 60,70,65,75 };
	int a2[] = { 75,80,75,90 };
	int a3[] = { 95,75,90,65 };
	double sum1=0, sum2=0, sum3=0;
	for (int i = 0; i < 4; i++) {
		sum1 += a1[i];
		sum2 += a2[i];
		sum3 += a3[i];
	}
	cout << "总分为:" << sum1 << "," << sum2 << "," << sum3 << "," << endl;
	printf("平均分为:%.1f,%.1f,%.1f", sum1 / 4, sum2 / 4, sum3 / 4);
}
//求两个正整数的最大公约数
void Q30() {
	int a = 50, b = 75;
	if (a < b) {
		int temp = a;
		a = b;
		b = temp;
	}
	for (int i = b; i >= 1; i--) {
		if (b % i == 0 && a % i == 0) {
			cout << "最大公约数为:" << i << endl;
			return;
		}
	}
}
//100以内自然奇数之和
void Q31() {
	int sum = 0;
	for (int i = 1; i <= 100; i++) {
		if (i % 2 != 0) {
			cout << i << " ";
			sum += i;
		}
	}
	cout << sum << endl;
}
//200到400之间能被3整除且个位是7的整数
void Q32() {
	for (int i = 200; i <= 400; i++) {
		if (i % 3 == 0 && i % 10 == 7) {
			cout << i << endl;
		}
	}
}
//计算1*2*3+4*5*6+...+97*98*99
void Q33() {
	int sum = 0;
	for (int i = 1; i <= 97; i += 3) {
		sum += i * (i + 1) * (i + 2);
		if(i!=97)
			cout << i << "*" << i + 1 << "*" << i + 2<<"+";
		else
			cout << i << "*" << i + 1 << "*" << i + 2 << "=";
	}
	cout << sum << endl;
}
//输入n,输出1*1+2*2+3*3+4*4+...+n*n,要求编写函数求平方
int MyPow(int a) {
	return a * a;
}
void Q34(int n) {
	int sum = 0;
	for (int i = 0; i < n; i++) {
		sum += MyPow(i + 1);
	}
	cout << sum << endl;
}
//1-200不能被3整除的整数和
void Q35() {
	int sum = 0;
	for (int i = 1; i <= 200; i++) {
		if (i % 3 != 0) {
			sum += i;
		}
	}
	cout << sum << endl;
}
//36题和29题重复
//输入华氏温度输出摄氏温度(保留两位)
void Q37(double f) {
	double c;
	c = (5.0 / 9.0) * (f - 32);
	cout << setiosflags(ios::fixed)<<setprecision(2)<<c << "℃" << endl;

}
//输入任意大小三个数降序输出
void Q38(int a,int b,int c) {
	cout << (a >= b ? (a >= c ? a : c) : (b >= c ? b : c)) << " ";
	cout << (a >= b ? (a >= c ? c : a) : (b >= c ? c : b)) << " ";
	cout << (a <= b ? (a <= c ? a : c) : (b <= c ? b : c)) << endl;
	/*	Q38(16,93,0x2123ACD);*/
}
//1元兑换5分,2分,1分共50个,每种硬币最少一枚,问共有多少种方案?每种方案中三种
//硬币的数量
void Q39() {
	int count = 0;
	for (int i = 1; i < 20; i++) {
		for (int j = 1; j < 50; j++) {
			for (int k = 1; k < 100; k++) {
				if (i * 5 + j * 2 + k == 100&&i+j+k==50) {
					count++;
					cout << "5分" << i << "个,2分" << j << "个,1分" << k << "个" << endl;
				}
			}
		}
	}
	cout << "共" << count << "种方案" << endl;
}
//输入园半径,计算面积周长,保留两位
void Q40(double r) {
	double length, area;
	area = r * r * 3.14159265358979323846264338;
	length = 2 * 3.14159265358979323846264338 * r;
	cout << setiosflags(ios::fixed) << setprecision(2) <<"面积:" << area << ",周长:" << length << endl;
}
//输入字符串,整数m,n,输出字符串从m开始的n位
void Q41() {
	char s[] = "abcdefg";
	int m = 2;
	int n = 3;
	while (n--) {
		cout << s[m - 1];
		m++;
	}
}
//输入一个不多于5位的正整数,判断它是几位数字并且逆序输出
void Q42(int n) {
	int temp;
	if (n / 10000 != 0) {
		cout << "这是一个五位数" << endl;
		for (int i = 0; i < 5; i++) {
			temp = n / pow(10, i);
			temp %= 10;
			cout << temp << " ";
		}
	}
	else if (n / 1000 != 0) {
		cout << "这是一个四位数" << endl;
		for (int i = 0; i < 4; i++) {
			temp = n / pow(10, i);
			temp %= 10;
			cout << temp << " ";
		}
	}
	else if (n / 100 != 0) {
		cout << "这是一个三位数" << endl;
		for (int i = 0; i < 3; i++) {
			temp = n / pow(10, i);
			temp %= 10;
			cout << temp << " ";
		}
	}
	else if (n / 10 != 0) {
		cout << "这是一个两位数" << endl;
		for (int i = 0; i < 2; i++) {
			temp = n / pow(10, i);
			temp %= 10;
			cout << temp << " ";
		}
	}
	else {
		cout << "这是一个个位数" << endl;
		cout << n << endl;
	}
}
//输出Fibonacci的前40项
int Q43(int n) {
	if (n == 1 || n == 2) return 1;
	else return Q43(n - 1) + Q43(n - 2);
	/*for (int i = 1; i <= 40; i++) {
		cout << "第" << i << "项:" << Q43(i) << endl;
	}
	*/
}
//判断是否闰年
void Q44(int year) {
	if (year % 400 == 0) {
		cout << "yes" << endl;
	}
	else if (year % 4 && year % 100 != 0) {
		cout << "yes" << endl;
	}
	else cout << "no" << endl;
}
//冒泡排序10个数字 太简单了不写
//判断是否素数
void Q46(int n) {
	if (n == 1 || n == 2) {
		cout << "yes" << endl;
	}
	else {
		for (int i = 2; i < n; i++) {
			if (n % i == 0) {
				cout << "no" << endl;
				return;
			}
		}
		cout << "yes" << endl;
	}
}
//计算1!+2!+...+10!
void Q47() {
	//24题写过计算阶乘的方法,直接调用
	long long sum = 0;
	for (int i = 1; i <= 10; i++) {
		sum += Q24(i);
	}
	cout << sum << endl;
}
//求前15项 1/2 3/2 5/3 8/5  的和
void Q48() {
	int i = 2;
	int j = 1;
	int temp=0;
	double sum=0;
	for (int k = 0; k < 15; k++) {
		sum += i / j;
		temp = i;
		i += j;
		j = temp;
	}
	cout << sum << endl;
}
//输入圆柱体的高和底面半径,计算表面积体积,保留两位
void Q49(double height, double r) {
	double area=2*3.1415926*r*r+3.1415926*2*r*height;
	double volume = 3.1415926 * r * r * height;
	printf("面积为%.2lf㎡,体积为%.2lfm³。", area, volume);
}
//输入十进制整数,计算各位数字之和
void Q50(int n) {
	int count = 0;
	int sum=0;
	int temp=n;
	while (temp) {
		count++;
		temp /= 10;
	}//获取n的位数

	for (int i = 0; i < count; i++) {
		temp = n / pow(10, i);
		temp %= 10;
		sum += temp;
	}
	cout << sum << endl;

}
//51题丢失
//判断字符串是不是回文(正着读和反着读一样)
void Q52() {
	string s = "abcdba";
	int len = s.length();
	for (int i = 0; i < len / 2; i++) {
		if (s[i] != s[len - 1 - i]) {
			cout << "不是" << endl;
			return;
		}
	}
	cout << "是" << endl;
}
//删除字符串中的数字
void Q53() {
	string s = "sssabc12138jjkh";
	int i = 0;
	while (s[i]) {
		if (!(s[i] >= '0' && s[i] <= '9')) {
			cout << s[i];
		}
		i++;
	}
}
int main() {
	cout << "Hello World!" << endl;
	return 0;
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值