日常C语言小练习-1.2

1.在屏幕上输出以下图案:
*
***
*****
*******
*********
***********
*************
***********
*********
*******
*****
***
*
    int i = 0,
	    j = 0;
	for (i = 0; i <= 6; i++)
	{
		for (j = 0; j <= 2 * i; j++)
			printf("*");
		printf("\n");
	}

	for (i = 0; i <= 5; i++)
	{
		for (j = 0; j <= 10 - 2 * i; j++)
			printf("*");
		printf("\n");
	}

2.求出0〜999之间的所有“水仙花数”并输出。
“水仙花数”是指一个三位数,其各位数字的立方和恰好等于该数本身,如;153=1^3+5^3+3^3,
  则153是一个“水仙花数”。
#include <stdio.h>
#include <Windows.h>
#include <math.h>
int main() {
	for (int i = 100; i <= 999; i++) {
		//截取个位和十位,百位
		int a = i % 10;
		int b = i / 10 % 10;
		int c = i / 100 % 10;

		if (pow(a, 3) + pow(b, 3) + pow(c, 3) == a * 100 + b * 10 + c) {
			printf("%d%d%d \n", a, b, c);
		}	

	}

	system("pause");
	return 0;

}

3.求Sn = a + aa + aaa + aaaa + aaaaa的前5项之和,其中a是一个数字,例如:2 + 22 + 222 + 2222 + 22222
    int a,
		n, 
		t = 0, 
		Sn = 0;
	printf("Enter a and n:\n");
	scanf_s("%d%d", &a, &n);
	for (int i = 1; i <= n; i++)
	{
		t = t * 10 + a;
		Sn += t;
	}
	printf("Sn=%d\n", Sn);
4.编写一个程序,它从标准输入读取C源代码,并验证所有的花括号都正确的成对出现。
    int a, 
		account = 0;
	printf("请输入代码:\n");
	while ((a = getchar()) != EOF)
	{
		if (a == '{')
		{
			account++;
		}
		else if (a == '}' && account == 0)
		{
			printf("花括号不成对\n");
			return 0;
		}
		else if (a == '}' && account != 0)
		{
			account--;
		}
	}

	if (account > 0)
	{
		printf("花括号不成对\n");
	}
	else
	{
		printf("花括号成对\n");
	}




猜你喜欢

转载自blog.csdn.net/qq_39026129/article/details/80170742