c++基础练习题一

1.编写函数实现以下功能
(1)编写函数,函数功能是:将两个两位数的正整数a、b合并成一个整数c,合并规则是将a的十位和个位分别放在c的千位和个位,将b的十位和个位分别放在c的百位和十位。a、b由键盘输入,输入输出均在主函数中完成。
样例输入:45 12
样例输出:4125

#if 0
int main() {
	int a, b,c;
	cin >> a;
	cin >> b;
	c = a / 10 * 1000 + b * 10 + a % 10;
	cout << c << endl;
}

#endif

(2)编写函数,将字符串中的大写字母变成对应的小写字母,小写字母变成对应的大写字母,其它字符不变。在主函数中调用该函数,完成任意字符串的转换,并输出结果。输入字符串(允许包含空格),输出处理后的结果。
样例输入:How Are You?
样例输出:hOW aRE yOU?

#if 0
void fun1(string a,int b) {
	for (int i = 0; i < b; i++) {
		if (a[i] >= 'a'&& a[i] <= 'z') {
			a[i] = toupper(a[i]);
		}
		else if (a[i] >= 'A'&&a[i] <= 'Z') {
			a[i] = tolower(a[i]);
		}
		cout << a[i];
	}
	cout << endl;
}
int main() {
	fun1("How Are You?",13);
}
#endif

(3)使用递归函数实现接收1个整型参数n,求n的阶乘并返回

#if 0
int func3(int n) {
	if (n == 1) {
		return 1;
	}
	else {
		return n * func3(n - 1);
	}
}
int main() {
	cout<<func3(5)<<endl;
}
#endif

(4)使用内联函数实现接收任意2个整数n和m,求n的m次幂即 n^m并返回

#if 0
int fun4(int m,int n) {
	if (n == 0) {
		return 0;
	}
	else if (n == 1) {
		return 1;
	}
	else {
		return powf(n, m);
	}
}
int main() {
	cout<<fun4(2, 3)<<endl;
}
#endif

(5)使用函数重载,分别实现将接收到的2个字符串,接收到3个字符串拼接,并返回新的字符串

#if 0
void fun5(string a, string b) {
	string c;
	c = a + b;
	cout << c << endl;
}

void fun5(string a, string b, string c) {
	string d;
	d = a + b + c;
	cout << d << endl;
}

int main() {
	fun5("asdf", "asdf");
	fun5("qwer", "tyui", "zxcv");
}


#endif

(6)编写函数实现接收月份(1-12),输出对应的季节
补充:在北半球,春季为3、4、5月份,夏季为6、7、8月份,秋季为9、10、11月份,冬季为12、1、2月份。
这是按照气温划分的。
样例:请输入月份:12 冬季

#if 0
enum month {
	january = 1, feburary, march, april, may, jury, july, octobe, september, october, november, december
};
void fun6() {
	int n;
	cout << "请输入月份";
	cin >> n;
	switch (n) {
	case 3:
	case 4:
	case 5:
		cout << "春季" << endl; break;
	case 6:
	case 7:
	case 8:
		cout << "夏季" << endl; break;
	case 9:
	case 10:
	case 11:
		cout << "秋季" << endl; break;
	case 12:
	case 1:
	case 2:
		cout << "冬季" << endl; break;
	}
}
int main() {
	
	fun6();
}
#endif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小飞龙程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值