4、结构化程序设计_练习题

34 阅读1分钟

练习 for、do-while、while语句

计算1+2+...+100之和(利用goto语句实现)

#include <stdio.h>
int main(void) {
  int n = 1, sum = 0;
loop:
  sum += n;
  n++;
  if (n <= 100) goto loop;
  printf("sum=%d\n", sum);
  return 0;
}

输出sum=5050

计算1+2+...+100之和(利用while语句实现)

#include <stdio.h>
int main(void) {
  int n = 1, sum = 0;
  while (n <= 100) {
    sum += n;
    n++;
  }

  printf("sum=%d\n", sum);
  return 0;
}

计算1+2+...+100之和(利用do-while语句实现)

#include <stdio.h>
int main(void) {
  int n = 1, sum = 0;
  do {
    sum += n;
    n++;
  } while (n <= 100);

  printf("sum=%d\n", sum);
  return 0;
}

计算n的阶乘 n! (n!=12...*n)

#include <stdio.h>
int main(void) {
  int i, n;
  long fact = 1;
  scanf("%d", &n);  //&是获取地址
  for (i = 1; i <= n; i++) fact *= i;
  printf("fact:%ld,n:%d", fact, n);
  return 0;
}
#include <stdio.h>
int main(void) {
  int x = 8;
  do {
    printf("*");
    x--;
    x--;
  } while (x == 0);
  return 0;
}

while内的表达式为真时,才重复执行do内的语句
输出: *