文字描述:①定义变量k,x;
②设k,x初值为0;
③若k小于等于9与x不等于10,转第④步,否则转第⑥步;
④x=x+2;
⑤k+1;
⑥输出k,x;
流程图:
代码:
#include<stdio.h>
int main()
{
int k, x;
for (k = 0, x = 0; k <= 9 && x != 10; k++)
x = x + 2;
printf("%d,%d", k, x);
return 0;
}
运行结果:
文字描述:
①定义变量c;
②输入c;
③取一个字符(这里是第一个 c = getchar());
④判断第一个字符是否不等于#,不等于则转第⑤步,等于则转第⑥步;
⑤再取一个字符( 这里是第二个c = getchar()),然后转第④步;
⑥输出c
流程图:
代码:
#include<stdio.h>
int main()
{
char c;
for (c = getchar(); getchar() != '#'; c = getchar())
putchar(c);
return 0;
}
运行结果:
文字描述:
①定义变量ch
②输入字符赋值给ch
③判定 ch!= '\n',是则转第④步,否则转第⑤步;
④输出,返回第②步;
⑤结束
流程图:
代码:
#include<stdio.h>
int main() {
char ch;
for (; (ch = getchar()) != '\n';)
printf("%c", ch);
return 0;
}
运行结果:
文字描述:
①定义变量i,a=1
②定义变量j设初值为0
③判定 j < 15,是则转第④步,否则转第⑥步
④a++
⑤j += 2,转第③步
⑥输出a
⑦结束
流程图:
代码:
#include<stdio.h>
int main() {
int i, a = 1;
unsigned j;
for (j = 0; j < 15; j += 2) {
a++;
}
printf("%d\n", a);
return 0;
}
运行结果:
文字描述:
①定义变量i
②设i初值为1
③判定i < 6,是则转第④步,否则转第⑧步
④判定i % 2,是则转第⑤步,否则转第⑥步
⑤输出*,转第⑦步
⑥输出#,转第⑦步
⑦i++
⑧结束
流程图:
代码:
#include<stdio.h>
int main() {
int i;
for (i = 1; i < 6; i++) {
if (i % 2)
printf("*");
else
printf("#");
}
return 0;
}
运行结果:
文字描述:
①int m = 1, n, i
②i = 0
③判定i < 5,是则转第④步,否则转第⑨步
④int m = 1
⑤m++
⑥判定i == 4,是则转第⑦步,否则转第⑧步
⑦n=m
⑧i++
⑨输出n,m
⑩结束
流程图:
代码:
#include<stdio.h>
int main() {
int m = 1, n, i;
for (i = 0; i < 5; i++) {
int m = 1; m++;
if (i == 4)n = m;
}
printf("%d,%d", m, n);
return 0;
}
运行结果:
文字描述:
①定义变量i
②i = 'a'
③i < 'f'?是则转第④步,否则转第⑦步
④输出i - 'a' + 'A'
⑤i++
⑥i++,转第③步
⑦结束
流程图:
代码:
#include<stdio.h>
int main() {
int i;
for (i = 'a'; i < 'f'; i++, i++)
printf("%c", i - 'a' + 'A');
return 0;
}
运行结果:
文字描述:
①int f, f1, f2, i
②f1 = 1; f2 = 1
③输出f1, f2
④i=3
⑤i <= 5?是则转第⑥步,否则转第⑨步
⑥输出f
⑦f1 = f2; f2 = f
⑧i++,转第⑤步
⑨结束
流程图:
代码:
#include<stdio.h>
int main() {
int f, f1, f2, i;
f1 = 1; f2 = 1;
printf("%2d%2d", f1, f2);
for (i = 3; i <= 5; i++) {
f = f1 + f2;
printf("%2d", f);
f1 = f2; f2 = f;
}
return 0;
}
运行结果:
文字描述:
①int n = 5
②判断n % 2=0,是则转第④步否则转第③步
③判断n % 2=1,是则转第④步,否则转第②步
④n--
⑤n--
⑥输出n
⑦判断n > 0,是则转第⑧步否则转第②步
⑧结束
流程图:
代码:
#include<stdio.h>
int main() {
int n = 5;
do {
switch (n % 2) {
case 0:n--;
break;
case 1:n--;
continue;
}
n--;
printf("%2d", n);
}
while (n > 0);
return 0;
}
运行结果:
文字描述:
①int x = 10
②判断x--!=0,是则转第③步,否则转第④步
③输出x,转第②步
④结束
流程图:
代码:
#include<stdio.h>
int main() {
int x = 10;
while (x--);
printf("x = % d\n", x);
return 0;
}
运行结果:
文字描述:
①int m = 9
②判断m > 0,是则转第③步,否则转第⑥步
③判断m % 30==0,不是则转第⑤步
④输出m
⑤m--,转第②步
⑥结束
流程图:
代码:
#include<stdio.h>
int main() {
int m = 9;
for (; m > 0; m--)
if (m % 30)
printf("%d", --m);
return 0;
}
运行结果:
文字描述:
①int x = 8
② 判断x > 0,否则转⑦步
③判断x % 3 == 0,否则转⑥步
④x--
⑤输出 --x
⑥x--,转第②步
⑦结束
流程图:
代码:
#include<stdio.h>
int main() {
int x = 8;
for (; x > 0; x--) {
if (x % 3 == 0) {
printf("%d,", x--);
continue;
}
printf("%d", --x);
}
return 0;
}
运行结果:
文字描述:
①int x = 3
②输出x = x - 3
③判断 x > 0,是则转第②步
④结束
流程图:
代码:
#include<stdio.h>
int main() {
int x = 3;
do {
printf("%3d", x = x - 3);
} while (!x);
return 0;
}
运行结果:
文字描述:
①int x = 2
②输出 !x - 2
③判断--x,是则转第②步
④结束
流程图:
代码:
#include<stdio.h>
int main() {
int x = 2;
do {
printf("%3d", !x - 2);
}
while (--x);
return 0;
}
运行结果:
文字描述:
①int n = 12345, d
②判断n != 0,否则转第⑥步;
③d = n % 10
④输出d
⑤n = n / 10,转第②步
⑥结束
流程图:
代码:
#include<stdio.h>
int main() {
int n = 12345, d;
while (n != 0) {
d = n % 10;
printf("%d", d);
n = n / 10;
}
return 0;
}
运行结果:
文字描述:
①int m = 0, sum = 0
②char c, oldc = '+'
③输入c
④判断c <= '9' && c >= '0',不是则转第⑥步
⑤m = 10 * m + c - '0,转12步
⑥判断oldc == '+',不是则转第⑧步
⑦sum += m,转12步
⑧sum -= m
⑨m = 0
⑩oldc =c
11.输出sum
12.判定c != '=',是则转第④步
13.结束
流程图:
代码:
#include<stdio.h>
int main() {
int m = 0, sum = 0;
char c, oldc = '+';
do {
c = getchar();
if (c <= '9' && c >= '0')
m = 10 * m + c - '0';
else {
if (oldc == '+')
sum += m;
else
sum -= m;
m = 0;
oldc = c;
printf("%3d", sum);
}
}
while (c != '=');
return 0;
}
运行结果:
文字描述:
①int t = 1, n = 235
②t = n % 10
③n /= 10
④判断n!=0,是则转到第②步
⑤输出t
⑥结束
流程图:
代码:
#include<stdio.h>
int main() {
int t = 1, n = 235;
do {
t = n % 10;
n /= 10;
}
while (n);
printf("%d\n", t);
return 0;
}
运行结果:
文字描述:
①int m = 5, n = 0
②m > 0
③switch (m)
④判断case 1:,是则转第⑦步
⑤判断case 3:否则转第⑧步
⑥n += 1;m--;break,转第11步
⑦default:n = 0;m--
⑧判断case 2:,是则转第⑩步
⑨判断case 4:,否则转第②步
⑩n += 2;m--;break;
11.输出n
流程图:
代码:
#include<stdio.h>
int main() {
int m = 5, n = 0;
while (m > 0) {
switch (m) {
case 1:
case 3:
n += 1;m--;break;
default:n = 0;m--;
case 2:
case 4:n += 2;m--;break;
}
printf("%2d", n);
}
return 0;
}
运行结果:
文字描述:
①int i, b = 0, c = 2
②i = 0
③判断 i < 2,否则结束运行
④++b
⑤ b * c==1,是则输出1
⑥ b * c==2,是则输出2
⑦ b * c==3,是则输出3
⑧输出onther
⑨i++,返回③
流程图:
代码:
#include<stdio.h>
int main() {
int i, b = 0, c = 2;
for (i = 0; i < 2; i++)
switch (++b, b * c) {
case 1:printf("1");
case 2:printf("2");
case 3:printf("3");
break;
default:printf("onther\n");
}
return 0;
}
运行结果:
文字描述:
①char c
②输入c
③判断c!= '?',否则结束运行
④输出--c,返回③
流程图:
代码:
#include<stdio.h>
int main() {
char c;
while ((c = getchar()) != '?')putchar(--c);
return 0;
}
运行结果:
文字描述:
①int denominator, flag, i, n
②double item, sum
③输出Please input n :
④输入n
⑤flag = 1 denominator = 1 sum = 1 i = 1
⑥判断 i <= n,否则输出sum,结束运行
⑦item = flag * 1.0 / denominator;
sum = sum + item;
flag = -flag;
denominator += 2
⑧i++返回⑥
流程图:
代码:
#include<stdio.h>
int main() {
int denominator, flag, i, n;
double item, sum;
printf("Please input n : ");
scanf_s("%d", &n);
flag = 1;
denominator = 1;
sum = 1;
for (i = 1; i <= n; i++) {
item = flag * 1.0 / denominator;
sum = sum + item;
flag = -flag;
denominator += 2;
}
printf("sum = % f\n", sum);
return 0;
}
运行结果:
文字描述:
①int i, n
②float sum = 0, flag = 1
③i = 1
④判断 i <= n,否则输出sum,结束运行
⑤sum = sum + flag * i / (2 * i - 1)
⑥flag = -flag
⑦i++
流程图:
代码:
#include<stdio.h>
int main() {
int i, n;
float sum = 0, flag = 1;
scanf_s("%d", &n);
for (i = 1; i <= n; i++) {
sum = sum + flag * i / (2 * i - 1);
flag = -flag;
}
printf("sum = % f\n", sum);
return 0;
}
运行结果:
文字描述:
①int i, n
②输出Enter a number :
③输入n
④输出Output::
⑤s = n % 10
⑥输出s
⑦n /= 10
⑧判断n != 0,是则返回⑤
⑨输出s
⑩结束
流程图:
代码:
#include<stdio.h>
int main() {
int n, s;
printf("Enter a number :");
scanf_s("%d", &n);
printf("Output:");
do { s = n % 10;
printf("%d", s); n /= 10;
}
while (n != 0);
return 0;
}
运行结果:
文字描述:
①double s = 1.0
②int k = 1, n
③输出输入一个数:
④输入n
⑤判断k <= n,否则输出s,运行结束
⑥s = s + 1.0 / (k * (k + 1))
⑦k++,返回⑤
流程图:
代码:
#include<stdio.h>
int main() {
double s = 1.0;
int k = 1, n;
printf("输入一个数:");
scanf_s("%d", &n);
while (k <= n) {
s = s + 1.0 / (k * (k + 1));
k++;
}
printf("s = % f\n\n", s);
return 0;
}
运行结果:
文字描述:
①int i
②i = 100
③判断i < 200,否则结束运行
④判断(i - 2) % 4 == 0,否则i++返回③
⑤判断!((i - 3) % 7),否则i++返回③
⑥判断(i - 5) % 9 == 0,否则i++返回③
⑦输出i
流程图:
代码:
#include<stdio.h>
int main() {
int i;
for (i = 100; i < 200;i++)
if ((i - 2) % 4 == 0)
if (!((i - 3) % 7))
if ((i - 5) % 9 == 0)
printf("%d", i);
return 0;
}
运行结果:
文字描述:
定义变量num,n;
给score,total赋初值为0;
定义num,n初始值为0;
请输入分数(0~100),输入的成绩个数n+1;
判定分数是否小于零,若小于零直接跳出循环转到第⑨步,否则转第⑥步;
判定分数是否小于60,小于则num+1,否则转第⑦步;
累加总分;
成绩个数+1,转第⑤步;
输出平均分数;
输出不及格的人数;
流程图:
代码:
#include<stdio.h>
int main()
{
int num, n;
float score,total = 0;
num = 0; n = 0;
while (1)
{
printf("请输入分数#%d(0~100):", n + 1);
scanf_s("%f", &score);
if (score < 0)
break;
if (score < 60)
num++;
total = total + score;
n++;
}
printf("平均分数是:%.2f.\n",total / n);
printf("不及格的有:%d.\n", num);
return 0;
}
运行结果:
文字描述:
定义变量i,j;
给i赋初值为零;
判断i是否小于等于10,若大于等于10则转第⑦步,否则转第④步;
j=i*10+6;
判断j除以3是否不等于零,若不等于零则转第⑥步,若等于零则转第⑦步;
结束这次循环进入下次循环转第③步;
输出j;
流程图:
代码:
#include <stdio.h>
main()
{
int i, j;
for (i = 0; i <= 10; i++)
{
j = i * 10 + 6;
if (j % 3 != 0)
{
continue;
}
printf("%d ", j);
}
return 0;
}
运行结果: