字符串逆序函数如何去写? 题目内容,写一个函数,要求能够逆序打印字符串的内容。

void run(char * str) {
	int len = strlen(str);
	char* left = str;
	char* right = str + len - 1;
	while (left<right) {
		char tmp = *left;
		*left = *right;
		*right = tmp;
		left++;
		right--;
}
}
int main() {
	char arr[100] = { 0 };
	scanf("%s\n", arr);
	run(arr);
	printf("%s\n", arr);
	return 0;
}

第二题 计算a+aa+aaa+aaaa+aaaaa的前五项之和,其中a是一个数字 列如 2+22+222+2222+22222

int main() {
	int a, b = 0;
	scanf("%d%d", &a,&b);
	int sum = 0,i,ret=0;
	for (i = 0; i < b; i++) {
		ret = ret * 10 + a;
		sum += ret;
	}
	printf("%d\n", sum);
	return 0;
}

第三题: 水仙花数,打印0-100000所有的水仙花数、

#include <math.h>
int main() {
	int i = 0;
	for (i = 0; i <= 10000; i++) {
		int n = 1;
		int tmp = i;
		int sum = 0;
		//求该数有多少位
		while (tmp /= 10) {
			n++;
		}
		tmp = i;
		//计算每一位的n次方之和,和sum  比如153=1^3+5^3+3^3     ,6=6^1,1634=1^4+6^4+3^4+4^4=1634.
		while (tmp) {
			sum += pow(tmp % 10, n);
			tmp /= 10;
		}
		//如果该数等于原 就输出。
		if (i == sum) {
			printf("%d\n", i);
		}
	}
	return 0;
}