例5.1
代码
#include<stdio.h>
#include<math.h>
int main() {
int n = 13, year;
double number, rate = 0.02;
for (year = 1;year <= 10;year++) {
number = n * pow((1 + rate), year);
printf("%2d年后,人数为:%.2f亿\n",year,number);
}
return 0;
}
运行结果
5.2
代码
#include<stdio.h>
#include<math.h>
int main() {
double sum, item, flag, denominator;
sum = 0;
item = 1;
flag = 1;
denominator = 1;
while( fabs(item) >= 1e-6) {
sum = sum + item;
flag = -flag;
denominator = denominator + 3;
item = flag / denominator;
}
printf("sum=%f\n",sum);
return 0;
}
运行结果 使用for语句实现循环结构
for的一般式为
for(表达式1;表达式2;表达式3)
循环体语句
5.3
代码
#include<stdio.h>
int main() {
int i, n, sum;
scanf_s("%d",&n);
sum = 0;
for (i = 1;i <= n;i++) {
sum = sum + i;
}
printf("由1到%d的和是:%d\n", n, sum);
return 0;
}
运行结果
5.4
代码
#include<stdio.h>
int main() {
int i, j;
for (i = 1;i <= 5;i++) {
for (j = 1;j <= 20-i;j++) {
printf(" ");
}
for (j = 1;j <= 2 * i - 1;j++) {
printf("*");
}
printf("\n");
}
return 0;
}
运行结果
5.35
流程图
5.35
流程图
#include<stdio.h>
#include<stdlib.h>
int main() {
int m, n, count = 0;
m = rand() % (80 - 10 + 1) + 10;
printf("请输入一个10-80之间的整数:");
while (1) {
scanf_s("%d",&n);
count++;
if (m==n) {
printf("恭喜!你猜对了,你真棒!\n");
break;
}else if (m > n && count < 5) {
printf("对不起,你猜小了,再来一次!");
}
else if (m < n && count < 5) {
printf("对不起,你猜大了,再来一次!");
}
if (count==5) {
printf("对不起,你没有机会了!\n这个数是:%d游戏结束!\n",m);
break;
}
}
return 0;
}
运行结果
5.36
流程图
代码
#include<stdio.h>
#include<math.h>
int main() {
int x,i, j = 0, n, k = 0;
for (x = 100;x < 1000;x++) {
k = sqrt(x);
for (i = 2;i <= k;i++) {
if (x % i == 0) {
break;
}
if (i > k) {
k = x;
n = 0;
while (k > 0) {
n = n * 10 + k % 10;
k /= 10;
}
if (x == n) {
printf("%d\t", x);
if (++j % 5 == 0) {
printf("\n");
}
}
}
}
}
return 0;
}
运行结果
5.37
流程图
代码
#include<stdio.h>
int main() {
int x, t;
printf("i\tpower\n");
for (x = 100;x < 1000;x++) {
t = x * x;
while (t != 0) {
if (x == t % 1000) {
printf("%d\t%d\n", x, x * x);
break;
}
else {
t = t / 10;
}
}
}
return 0;
}
运行结果