第五章代码

#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;
}
文字描述法

1.定义整数k,x;
2.k=0,x=0
3.判断k<=9&&x!=10,若k<=9&&x!=10,执行3,4,5否则转6;
4.x=x+2
5.k++转3
5.输出k,x的值

流程图

运行结果

6
代码 

#include<stdio.h>
int main()
{
 char c;
 for (c = getchar(); getchar() != '#'; c = getchar())
  putchar(c);
 return 0;
}
文字描述法

1.定义字符c
2.c = getchar()
3.判断getchar() != '#',若getchar() != '#',执行3,4,5否则转6
4.putchar(c)
5.c = getchar()
6.输出c

流程图

运行结果

单项选择题
14
代码 

#include<stdio.h>
int main()
{
 char ch;
 for (; (ch = getchar()) != '\n';) {
  printf("%c", ch);
 }
 return 0;
}
文字描述法

1.定义字符ch
2.判断ch = getchar()) != '\n',若ch = getchar()) != '\n',执行2,3否则转3
3.输出ch
流程图

 运行结果

15
代码

#include<stdio.h>
int main()
{
 int i, a = 1;
 unsigned j;
 for (i=15;i>0;i-=2)
  a++;
 printf("输出a=%d", a);
 return 0;
}
 文字描述法

1.定义int i, a = 1;unsigned j;
2.i=15
3.判断i>0,若i<0,执行3,4否则转5
4.a++转3
5.输出a

流程图

运行结果

阅读程序题
1
代码

#include<stdio.h>
int main()
{
 int i;
 for (i = 1; i < 6; i++) {
  if (i % 2) {
   printf("*");
  }
  else {
   printf("#");
  }
 }
 return 0;
}
 文字描述法

1.定义int i
2.i=1
3判断i<6,若i<6执行3,4,5否则转6
4.如果i%2,输出*
5.否则输出#
6.结束

流程图

运行结果

2
代码

#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;
}
 文字描述法

1.定义m=1,n,i
2.i=0
3.判断i<5,若i<5执行3,4,5,6否则转7
4.整数m=1
5.m++
6.如果i=4,n=m
7.输出m,n

流程图

运行结果

 3
代码

#include<stdio.h>
int main()
{
 int i;
 for (i = 'a'; i < 'f'; i++, i++) {
  printf("%c", i - 'a' + 'A');
 }
 return 0;
}
文字描述法

1.定义整数i
2.i='a'
3.判断i<'f'若i<'f'执行3,4,5否则转6
4.输出i - 'a' + 'A'的值
5.i++,i++
6.结束

流程图

运行结果

4
代码

#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;
}
 文字描述法

1.定义整数f,f1,f2,i
2.f1=1,f2=1
3.输入f1,f2的值
4.i=3
5.判断i<=5若i<=5执行5,6,7,8,9否则转10
6.f=f1+f2
7.输入f的值
8.f1=f2;f2=f
9.i++
10.结束

流程图

运行结果

5
代码

#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;
}
 文字描述法

1.定义整数n=5
2.当n%2时
3.case0:n--,转7
4.case1:n--执行2,3,5,6,7
5.n--
6.输出n的值
7.判断n>0,若n>0执行2,3,4,5,6,7否则转8

8.结束

 流程图

运行结果

7
代码

#include<stdio.h>
int main()
{
 int x = 10;
 while (x--);
 printf("x=%d\n", x);
 return 0;
}
 文字描述法

1.定义整数x=10
2.计算x--
3.输出x的值

流程图

运行结果

9
代码

#include<stdio.h>
int main()
{
 int m = 9;
 for (; m > 0; m--) {
  if (m % 3 == 0) {
   printf("%d", --m);
  }
 }
 return 0;
}
 文字描述法


1.定义整数m=9
2.判断m>0,若m<0,执行2,3,4否则转5
3.如果m%3==0
4.输出--m的值否则转5
5.结束
流程图

运行结果

10
代码

#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;
}
 文字描述法

1.定义整数x=8
2.判断x>0,若x<0,执行2,3,4否则转5
3.如果x%3==0
4.输出x--的值转2,3,5
5.输出--x的值

流程图

运行结果

11
代码

#include<stdio.h>
int main()
{
 int x = 3;
 do {
  printf("%3d", x = x - 3);
 } while (!x);
 return 0;
}
 文字描述法

1.定义整数x=3
2.输出x=x-3
3.判断!x,若!x执行2,3否则转4
4.结束

流程图

 

运行结果

12
代码

#include<stdio.h>
int main()
{
 int x = 2;
 do {
  printf("%3d", !x - 2);
 } while (--x);
 return 0;
}
 文字描述法

1.定义整数x=2
2.输出!x-2
3.判断--x,若--x执行2,3否则转4
4.结束

流程图

 

运行结果

13
代码

#include<stdio.h>
int main()
{
 int n = 12345, d;
 while (n != 0) {
  d = n % 10;
  printf("%d", d);
  n = n / 10;
 }
 return 0;
}
 文字描述法

1.定义整数n=12345,d
2.当n!=0
3.d=n%10
4.输出d的值
5.n=n/10
6.结束

流程图
 

 

 运行结果

14
代码

#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;
}
 文字描述法

1.定义整数m=0,sum=0,字符c,oldc='+'
2.c=getchar()
3.如果c<='9'&&c>='0',执行m=10*m+c-'0'
4,否则如果oldc=='+',执行sum+=m
5.否则sum-=m
6.m=0
7.oldc=c
8.输出sum的值
9.判断c!='='执行2,3,4,5,6,7,8,9否则转10
10.结束

流程图

 

运行结果

16
代码

#include<stdio.h>
int main()
{
 int t = 1, n = 235;
 do {
  t *= n % 10;
  n /= 10;
 } while (n);
 printf("%d\n", t);
 return 0;
}
 文字描述法

1.定义整数t=1,n=235
2.t*=n%10
3.n/=10
4.判断n执行2,3,4否则转5
5.输出t的值
6.结束

流程图

 

运行结果

17
代码

#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;
}
 文字描述法

1.整数m=5,n=0
2.当m>0
3.判断m
4.执行case1:
5.执行case3:
                n+=1,m--,若n+=1转9
6.默认n=0,m--
7.执行case2:
8.执行case4:
                n+=2,m--,若n+=2转9
9.输出n的值
10.结束

流程图

 

运行结果

18
代码

#include<stdio.h>
int main()
{
 int i, m = 0;
 for (i = 0; i < 5; i++) {
  switch (i) {
      case 0:
   case 1:m++;
   case 3:m++;
   case 4:m--; break;
  }
 }
 printf("%d\n", m);
 return 0;
}
 文字描述法

1.定义整数i,m=0
2.i=0
3.判断i否则转10
4.执行case0:
5.执行case1:
              m++
6.执行case3:
              m++
7.执行case4:m--,若m--转8
8.输出m的值
9.i++转3
10.结束

流程图

 

运行结果

19
代码

#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("other\n");
  }
 }
 return 0;
}
 文字描述法

1.定义整数b=0,c=2
2.i=0
3.判断i<2否则转10
4.当++b,b*c
5.执行case1:
             输出1
6.执行case2:
             输出2
7.执行case3:
            输出3

8.默认输出other
9.i++转3
10.结束

流程图

 

运行结果

21
代码

#include<stdio.h>
int main()
{
 char c;
 while ((c = getchar()) != '?')
  putchar(--c);
 return 0;
}
 文字描述法

1.定义字符c
2.当c = getchar()) != '?'
3.putchar(--c);
4.结束

流程图

 

运行结果

完善程序题

代码

#include<stdio.h>
int main()
{
 int denominator, flag, i, n;
 double item, sum;
 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 += 2;
 }
 printf("sum=%f\n", sum);
 return 0;
}
 文字描述法

1.定义整数denominator, flag, i, n,小数item, sum
2.输入n的值
3.flag = 1
4.denominator = 1
5.sum = 0
6.i=1
7.判断i<=n,执行7,8,9,10,11,12否则转13
8.item = flag * 1.0 / denominator;
9.sum = sum + item
10.flag = -flag
11.denominator += 2
12.i++
13.输出sum的值
14.结束

流程图

 

运行结果

2
代码

#include<stdio.h>
int main()
{1
 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;
}
 文字描述法

1.定义整数i,n,小数sum = 0, flag = 1
2.输出n的值
3.i=1
4.判断i <= n若i <= n执行4,5,6,7否则转8
5.sum = sum + (flag * i) / (2 * i - 1)
6.flag = -flag
7.i++
8.输出sum的值
9.结束
 

流程图

 

运行结果

3
代码

#include<stdio.h>
int main()
{
 int n, s;
 printf("请输入一个数字:");
 scanf_s("%d", &n);
 printf("Output:");
 do {
  s = n % 10;
  printf("%d", s);
  n /= 10;
 } while (n != 0);
 return 0;
}
 文字描述法

1.定义整数n,s
2.请输入一个数字给n
3.输出Output
4.s = n % 10;
5.printf("%d", s);
6.n /= 10;
7.判断n != 0若n != 0执行4,5,6,7否则转8
8.结束


流程图

 

 运行结果

 4
代码

#include<stdio.h>
int main()
{
 int k,n;
 double s;
 s = 1.0;
 k = 1;
 scanf_s("%d", &n);
 while (k <= n) {
  s = s + 1.0 / (k * (k + 1));
  k++;
 }
 printf("s=%f\n\n", s);
 return 0;
}
文字描述法

1.定义整数k,n;小数s
2.s = 1.0;
3.k = 1;
4.输入n的值
5.判断k <= n,若k <= n执行5,6,7否则转8
6.s = s + 1.0 / (k * (k + 1))
7.k++
8.输出s的值
9.结束
 

流程图

 

运行结果

10
代码

#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;
}
 文字描述法

1.定义整数i
2.i=100
3.判断i<200,若i<200执行3,4,5,6,7,8否则转9
4.如果(i - 2) % 4 =0)执行5否则i++转3
5.如果!((i - 3) % 7执行6否则i++转3
6.如果(i - 5) % 9 == 0执行7否则i++转3
7.输出i的值
8.i++转3
9.结束

流程图

 

 运行结果

11
代码

#include<stdio.h>
int main()
{
 int count, i, n;
 double grade, total;
 printf("Enter n:");
 scanf_s("%d", &n);
 total = 0;
 count = 0;
 for (i = 1; i <= n; i++) {
  printf("Enter grade #%d:", i);
  scanf_s("%lf", &grade);
  total = total + grade;
  if (grade < 60) {
   count++;
  }
 }
 printf("Grade average=%.2f\n", total / n);
 printf("Number of failures=%d\n", count);
 return 0;
}
 文字描述法

1.定义整数count, i, n,小数grade, tota
2.输入Enter n的值
3.total = 0
4.count = 0
5.i=1
6.判断i <= n,若i <= n执行6,7,8,9,10否则转11
7.输出grade的值
8.total = total + grade
9.如果grade < 60执行count++
10.i++转6
11.输出total的值
12.输出count的值
13.结束

流程图

 

运行结果

12
代码

#include<stdio.h>
int main()
{
 int i, j;
 for (i = 0; i < 10; i++) {
  j = i * 10 + 6;
  if (j % 3 == 0) {
   printf("%3d", j);
  }
 }
 return 0;
}
 文字描述法

1.定义整数i,j
2.i=0
3.判断i < 10若i < 10执行否则转
4.j = i * 10 + 6
5.如果j % 3 =0执行6
6.输出j的值
7.i++转3
8.结束

流程图

 

运行结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值