C语言(求0-999之间的所有水仙花数并输出;求sn=a+aa+aaa+aaaa+aaaaa+...的前n项之和,其中a是一个数字)

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
////第一题:  //打印一个*的三角形,每行相差两个*。上面七行递增,下面六行递减。
	//int i = 0;
	//int j = 0;
	//int k = 0;
	//for (i = 1; i <8; i++){
	//	for (int j = 1; j <= 2 * i - 1; j++){
	//		printf("*");
	//	}
	//	printf("\n");
	//}
	//for (i = 6; i >= 1; i--){
	//	for (int j = 1; j <= 2 * i - 1; j++){
	//		printf("*");
	//	}
	//	printf("\n");
	//}

////第二题:求出0-999之间所有水仙花数并输出;
	//int i = 0;
	//int singles = 0;
	//int tens = 0;
	//int hundreds = 0;
	//printf("0-999之间的水仙花数为:\n");
	//for (i = 100; i < 1000; i++){    //很显然0-100之间没有水仙花数,水仙花数指的是一个三位数
	//		hundreds = i / 100;
	//		tens = ( i / 10 )% 10;
	//		singles = i % 10;
	//	if (i == pow(hundreds,3) + pow(tens,3) + pow(singles,3)){   //pow(i,n);求i的n次方,头文件#include<math.h>
	//			printf("%d ", i);
	//		}
	//	}

////第三题:求sn=a+aa+aaa+aaaa+aaaaa+...的前n项之和,其中a是一个数字;
		int n = 0; 
	int a = 0;
	int temp = 0;
	int sum = 0;
	printf("请输入a和n的值,用空格隔开:\n");
	scanf("%d %d", &a, &n);
	for (int i = 1; i <= n; i++){
		temp = a + temp * 10;
		sum += temp;
	}
	printf("值为:%d\n", sum);
	system("pause");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/wener521/article/details/88747514