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;
}
截图
2.
代码
#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;
}
截图
1.for语句的基本用法
for语句的一般形式为:
for(表达式1;表达式2;表达式3)
循环体语句
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;
}
截图
4.
代码
#include<stdio.h>
int main(void)
{
int i, n;
double factorial;
printf("输入n的值:");
scanf_s("%d", &n);
factorial = 1;
for (i = 1; i <= n; i++)
factorial = factorial * i;
printf("%d!=%.0f\n", n, factorial);
return 0;
}
截图
2.for语句的一般形式中省略表达式1
格式为
for(;表达式2;表达式3)
循环体语句;
3.for语句的一般形式中省略表达式2
格式为:
for(表达式1;;表达式3)
循环体语句:
4.for语句的一般形式中省略表达式3
格式为:
for(表达式1;表达式2;)
循环语句:
5.for语句的一般形式中表达式1和表达式3也可以是逗号表达式
6.for语句的一般形式中表达式2的值只要非0,就执行循环体
7.for语句的一般形式中循环体语句可以省略
5.
代码
#include<stdio.h>
int main()
{
int n, i, denominator, flag;
float sum, item;
printf("输入n的值:");
scanf_s("%d", &n);
flag = 1;
denominator = 1;
sum = 0;
for (i = 1; i <= n; i++)
{
item = flag * 1.0 / denominator;
sum = sum + item;
flag = -flag;
denominator = denominator + 3;
}
printf("Sum=%.2f\n", sum);
return 0;
}
截图
6.
代码
#include<stdio.h>
int main()
{
int i;
float x, max;
printf("请输入第1个数:");
scanf_s("%f", &x);
max = x;
for (i = 1; i <= 9; i++)
{
printf("请输入第%d个数:", i + 1);
scanf_s("%f", &x);
if (x > max)
max = x;
}
printf("10个数的最大值是:%.0f", max);
return 0;
}
截图
7.
代码
#include<stdio.h>
int main()
{
int i;
float x, max;
for (i = 1; i <= 10; i++)
{
printf("请输入第%d个数:", i);
scanf_s("%f", &x);
if (i == 1)
max = x;
else
if (x > max)
max = x;
}
printf("十个数中最大值是:%.0f", max);
return 0;
}
截图
8.
代码
#include<stdio.h>
int main()
{
int number, a, b, c;
for (number = 100; number <= 999; number++)
{
a = number / 100;
b = number % 100 / 10;
c = number % 10;
if (number == a * a * a + b * b * b + c * c * c)
printf("%5d", number);
}
}
截图
9.
代码
#include<stdio.h>
int main()
{
int number, sum, i;
printf("请输入一个正整数:");
scanf_s("%d", &number);
sum = 0;
for (i = 1; i <= number - 1; i++)
if (number % i == 0)
sum = sum + 1;
if (number == sum)
printf("%d是完数\n", number);
else
printf("%d不是完数\n", number);
return 0;
}
截图
10.
代码
#include<stdio.h>
int main()
{
int upper, lower, digit, i, other;
char ch;
upper = lower = digit = other = 0;
printf("输入10个字符:");
for (i = 1; i <= 10; i++)
{
ch = getchar();
if (ch >= 'a' && ch <= 'z')
lower++;
else if (ch >= 'A' && ch <= 'Z')
upper++;
else if (ch >= '0' && ch <= '9')
digit++;
else
other++;
}
printf("小写字母%d个,大写字母%d个,数字%d个,其他字符%d个\n", lower, upper, digit, other);
return 0;
}
截图
11.
代码
#include<stdio.h>
int main()
{
int i;
char ch;
for (i = 1; (ch = getchar()) != '\n'; i++)
putchar(ch - 32);
return 0;
}
截图
12.
代码
#include<stdio.h>
int main()
{
int i;
char ch;
for (; (ch = getchar()) != '\n'; )
putchar(ch - 32);
return 0;
}
截图
13 .
代码
#include<stdio.h>
int main()
{
int n = 0, i;
char ch;
printf("输入3个数字:");
for (i = 1; i <= 3; i++)
{
scanf_s("%c", &ch);
n = n * 10 + ch - '0';
}
printf("%d\n", n);
return 0;
}
截图
14.
代码
#include<stdio.h>
int main(void)
{
int i, flag, number;
printf("请输入一个正整数:");
scanf_s("%d", &number);
flag = 1;
for (i = 2; i <= number - 1 && flag; i++)
{
if (number % i == 0)
flag = 0;
if (flag)
printf("%d是素数\n", number);
else
printf("%d不是素数\n", number);
return 0;
}
}
截图
5.3 while语句的基本用法
while语句在使用时,总是先判断一个条件,所以可以用while语句实现“当型”循环。while的一般形式如下:
while(表达式)
循环体
15.
代码
#include<stdio.h>
int main()
{
int i, sum;
i = 1, sum = 0;
while (i <= 100)
{
sum = sum + i;
i = i + 1;
}
printf("sum=%d", sum);
return 0;
}
截图
16.
代码
#include<stdio.h>
int main()
{
int i;
long n, fact;
i = 2, fact = 1;
printf("请输入n的值:");
scanf_s("%ld", &n);
while (i <= n)
{
fact = fact * i;
i = i + 1;
}
printf("%ld!=%ld\n", n, fact);
return 0;
}
截图
17.
代码
#include<stdio.h>
int main()
{
int digit, letter, other;
char ch;
digit = letter = other = 0;
printf("请输入一个字符:");
while ((ch = getchar()) != '\n')
{
if ((ch >= '0') && (ch <= '9'))
digit++;
else if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
letter++;
else
other++;
}
printf("数学%d个,字母%d个,其他%d个\n", digit, letter, other);
return 0;
}
截图
5.4
do-while语句在使用时,首先执行循环体语句,然后再判断条件
一般形式为
do
循环体
while(表达式);
18.
代码
#include<stdio.h>
int main()
{
int i, sum;
i = 1, sum = 0;
do
{
sum = sum + i;
i = i + 1;
} while (i <= 100);
printf("sum=%d\n", sum);
return 0;
}
截图
19.
代码
#include<stdio.h>
int main()
{
int a, b, r, n, m;
printf("请输入两个整数:");
scanf_s("%d%d", &a, &b);
m = a, n = b;
do
{
r = a % b;
a = b;
b = r;
} while (r != 0);
printf("%d和%d的最大公约数是:%d\n", m, n, a);
printf("最小公倍数是:%d", m * n / a);
return 0;
}
截图
20.
代码
#include<stdio.h>
int main()
{
long n, m;
int count = 0;
printf("请输入一个整数:");
scanf_s("%ld", &n);
m = n;
if (n < 0)n = -n;
do
{
n = n / 10;
count++;
} while (n != 0);
printf("整数%ld有%d位数\n", m, count);
return 0;
}
截图
5.5.1
break语句
满足条件便跳出循环
一般形式为
break;
21.
代码
#include<stdio.h>
int main()
{
int i = 5;
do
{
if (i % 3 == 1)
if (i % 5 == 2)
{
printf("%d", i);
break;
}
i++;
} while (i != 0);
return 0;
}
截图
22.
代码
#include<stdio.h>
#include<math.h>
int main()
{
int n, m, i;
printf("请输入一个正整数:");
scanf_s("%d", &n);
m = sqrt(n);
for (i = 2; i <= m; i++)
{
if (n % i == 0)
break;
}
if (i > m)
printf("%d是素数!\n", n);
else
printf("%d不是素数!\n", n);
return 0;
}
截图
23.
代码
#include<stdio.h>
int main()
{
int num, n;
float scote, total = 0;
num = 0, n = 0;
while (1)
{
printf("请输入分数#%d(0~100):", n + 1);
scanf_s("%f", &scote);
if (scote < 0)
break;
if (scote < 60)
num++;
total = total + scote;
n++;
}
printf("平均分数是:%.2f.\n", total / n);
printf("不及格的有:%d.\n", num);
return 0;
}
截图
5.5.2
continue语句
continue语句的作用是跳过循环体中continue后面的语句,继续下一次循环。continue语句只能用在循环语句中,常和if语句使用
continue语句的一般形式为
continue
24.
代码.
#include<stdio.h>
int main()
{
int i, n = 1;
for (i = 1; i <= 100; i++)
{
if (i % 7 != 0)
continue;
printf("%4d", i);
if (n++ % 5 == 0)printf("\n");
}
return 0;
}
截图
25.
代码
#include<stdio.h>
int main()
{
int n, s = 0;
n = 1;
while (n < 10)
{
s = s + n;
if (s > 5)
break;
if (n % 2 == 1)
continue;
n++;
}
printf("s=%d,n=%d\n", s , n);
return 0;
}
截图
5.5.3
goto语句
goto语句的一般形式为
goto 语句标号;
语句标号是一个有效的标识符,使用时在语句标号的后面跟一个“:”出现在函数中某语句的前面。程序执行到goto语句时,会控制跳转到该语句标号处达到控制循环的目的。
26.
代码
#include<stdio.h>
int main()
{
int i, sum;
i = 1, sum = 0;
loop: if (i <= 100)
{
sum = sum + i;
i = i + 1;
goto loop;
}
printf("sum=%d\n", sum);
return 0;
}
截图
27.
代码
#include<stdio.h>
int main()
{
int i, j;
double factorial, s = 0;
for (i = 1; i <= 10; i++)
{
factorial = 1;
for (j = 1; j <= i; j++)
{
factorial = factorial * j;
}
s = s + factorial;
}
printf("1!+2!+3!+...+10!=%.0f\n", s);
return 0;
}
截图
28.
代码
#include<stdio.h>
int main()
{
int i, j;
for (i = 1; i <= 9; i++)
{
for (j = 1; j <= 1; j++)
printf("%d*%d=%d\t", j, i, j * i);
}
return 0;
}
截图
29.
代码
#include<stdio.h>
#include<math.h>
int main()
{
int i, n, k, count = 0;
n = 2;
while (n < 100)
{
k = sqrt(n);
for (i = 2; i <= k; i++)
if (n % i == 0)
break;
if (i > k)
{
printf("%4d", n);
if (++count % 10 == 0)
printf("\n");
}
n++;
}
return 0;
}
截图
30.
代码
#include<stdio.h>
int main()
{
int i, n, m;
for (m = 10; m <= 20; m++)
{
n = m, i = 2;
printf("%d=", n);
do
{
if (n % i == 0)
{
printf("%d*", i);
n = n / i;
}
else
i++;
} while (n != i);
printf("%d\n", n);
}
return 0;
}
截图
31.
代码
#include<stdio.h>
int main()
{
int day, d1, d2;
day = 9;
d2 = 1;
do
{
d1 = (d2 + 1) * 2;
d2 = d1;
--day;
} while (day > 0);
printf("第一天摘了%d\n", d1);
return 0;
}
截图
32.
代码
#include<stdio.h>
#include<math.h>
#define eps 1e-6
int main()
{
int n = 1;
float x;
double fz, fm = 1, sinx;
printf("输入x的值:");
scanf_s("%f", &x);
fz = x; sinx = x;
do
{
n = n + 1;
fz = -fz * x * x;
fm = fm * (2 * n - 2) * (2 * n - 1);
sinx = sinx + fz / fm;
}
while (fabs(fz / fm) > eps);
printf("sin(%f)=%0.6f\n", x, sinx);
printf("sin(%f)=%0.6f\n", x, sin(x));
return 0;
}
截图
33.
代码
#include<stdio.h>
#include<math.h>
#define eps 1e-6
int main()
{
float x1, x0, f, f1;
x1 = 1.0;
do
{
x0 = x1;
f = ((2 * x0 - 4) * x0 + 3) * x0 - 6;
f1 = (6 * x0 - 8) * x0 + 3;
x1 = x0 - f / f1;
} while (fabs(x1 + -x0) > eps);
printf("%6.2f", x1);
return 0;
}
截图
34.
代码
#include<stdio.h>
int main()
{
int men, women, child;
for (men = 0; men <= 9; men++)
for (women = 0; women <= 12; women++)
{
child = 36 - men - women;
if (men * 4 + women * 3 + child * 0.5 == 36)
printf("男:%d女:%d小孩:%d\n", men, women, child);
}
return 0;
}
截图
35.
代码
#include<stdio.h>
int main()
{
int i, j, k, n = 0;
for (i = 1; i < 5; i++)
for (j = 1; j < 5; j++)
for (k = 1; k < 5; k++)
if (i != k && 1 != j && j != k)
{
printf("%d%d%d\t", i, j, k);
if (++n % 5 == 0)
printf("\n");
}
printf("\n共有:%d\n", n);
return 0;
}
截图
36.
代码
#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;
}
截图
37.
代码
#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;
}
截图
38.
代码
#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;
}
截图
39.
代码
#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;
}
截图