1.在屏幕上输出图案:
#include<stdio.h>
#include<stdlib.h>
int main() {
int count = 2;
int temp = 12;
//i用来控制1-7行,n用来控制每行输出*的个数
//第一行 1个,第二行 3个,第三行 5个 每行比上一行多两个
for (int i = 1; i < 8; ++i) {
//count+1是为了在count位的时候输出换行
for (int n = 1; n < count+1; ++n) {
//count记录每行输出多少个,当n==count时,开始下一行输出
if (n == count) {
printf("\n");
//count是上一行的个数,count+2为下一行的个数
count = count + 2;
break;
}
//注意printf不能放在if语句之上,否则每行输出的多一个
printf("*");
}
}
for (int i = 1; i < 7; ++i) {
for (int n = 1; n < temp +1; ++n) {
if (n == temp) {
printf("\n");
temp = temp - 2;
break;
}
printf("*");
}
}
system("pause");
return 0;
}
运行结果:
**2.求出0~999之间的所有“水仙花数”并输出。
“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”。
/*
在数论中,水仙花数(Narcissistic number)也称为自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),是指一N位数,其各个数之N次方和等于该数。
例如153、370、371及407就是三位数的水仙花数,其各个数之立方和等于该数:
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。
*/
**
#include<stdio.h>
#include<stdlib.h>
#include<Math.h>
int main() {
int hun, dec, sin, d;
for (int i = 100; i < 1000; ++i) {
hun = i / 100;
dec = (i % 100) / 10;
sin = i % 10;
d = pow(hun, 3) + pow(dec, 3) + pow(sin, 3);
if (i == d) {
printf("%d=%d^3+%d^3+%d^3\n", i, hun, dec, sin);
}
}
system("pause");
return 0;
}
运行结果:
**3. 求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,
例如:2+22+222+2222+22222
**
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main() {
int a[5];
int b;
int Sn;
printf("请随机输入一个1-9的数字:\n");
//scanf之内不能写\n,b=,scanf("b=%d\n",&b),是错误的写法
scanf("%d", &b);
Sn=a[0] = b;
for (int i = 1; i < 5; ++i) {
a[i] = a[i - 1] *10 + b;
Sn = Sn + a[i];
}
printf("Sn=%d=%d+%d+%d+%d+%d\n", Sn, a[0], a[1], a[2], a[3], a[4]);
system("pause");
return 0;
}
4.猜数字游戏
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu() {
printf("***********************\n");
printf("*********1.play********\n");
printf("*********0.exit********\n");
printf("***********************\n");
}
void game() {
//rand()生成一个随机整数
//rand()%100+1 1-100的数字
//rand()%100 0-99的数字
int random_num = rand() % 100 + 1;
int input = 0;
while (1) {
printf("请输入猜的数字:\n");
scanf("%d", &input);
if (input > random_num) {
printf("猜大了\n");
}
else if (input < random_num) {
printf("猜小了\n");
}
else {
printf("猜对了\n");
break;
}
}
}
int main() {
int input = 0;
//设置随机种子数字的函数,使用time()函数改变随机种子
srand((unsigned int)time(0));
do {
menu();
printf("请选择;\n");
scanf("%d", &input);
switch (input) {
case 1:
game();
break;
case 0:
break;
default:
printf("输入有误,请重新输入\n");
break;
}
} while (input);
system("pause");
return 0;
}
运行结果: