初阶C_1030

1.在屏幕上输出一个上下倒三角星形的图案

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
void star(){//将代码分为上三角和下三角来输出
int i, j, n = 7;
for (i = 1; i <= n; i++)
{
for (j = 1; j <= n - i; j++)
{
printf(" ");
}
for (j = 0; j < 2 * i - 1; j++)
{
printf("*");
}
printf("\n");
}
for (i = 6; i > 0 ; i--)
{
for (j = 1; j <= n-i; j++)
{
printf(" ");
}
for (j = 1; j < 2 * i ; j++)
{
printf("*");
}
printf("\n");
}
}

2.求出0~999之间的所有“水仙花数”并输出。
例如:
153 = 1^3 + 5^3 + 3^3。
370 = 3^3 + 7^3 + 0^3。
371 = 3^3 + 7^3 + 1^3。
407 = 4^3 + 0^3 + 7^3。

1
2
3
4
5
6
7
8
9
10
11
12
13
void narcissus(){
int i;
int j, k, l;
for (i = 0; i < 1000; i++)
{
j = i % 10;
k = (i / 10) % 10;
l = i / 100;
if (i == j * j * j + k * k * k + l * l * l ){//老铁!注意是"=="!!
printf("%d\n", i);
}
}
}

3.求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,
例如:2+22+222+2222+22222

1
2
3
4
5
6
7
8
9
void he(int a){   //j每次都是j*10,之后在加上a。
int Sn = 0, i, j;
j = a; //j=a,定义在循环之外,a的赋值只在第一次填写参数时。
for (i = 0; i < 5; i++){
Sn = j+ Sn;
j = j * 10 + a;
}
printf("%d", Sn);
}
-------------The End-------------