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"); }