分支和循环习题以及知识点

简介: 分支和循环习题以及知识点

知识点

(1)闰年:能够被4整除&&不能被100整除||被400整除。

(2) while循环条件将会比循环体多执行一次。

(3)9*9乘法表,%3d 是_23(左对齐),   %-3d是 23_ (右对齐)     所以是 " %d*%d=%-3d" 或者是" %d*%d=%d\t"  

编程

(1)写代码将三个整数数按从大到小输出。输入:2 3 1 输出:3 2 1

代码展示:

1. #include <stdio.h>
2. int main()
3. {
4.     int a = 2;
5.     int b = 3;
6.     int c = 1;
7.     scanf("%d%d%d",&a, &b,&c);
8. if(a<b)
9.     {
10.         int tmp = a;
11.         a = b;
12.         b = tmp;
13.     }
14. if(a<c)
15.     {
16.         int tmp = a;
17.         a = c;
18.         c = tmp;
19.     }
20. if(b<c)
21.     {
22.         int tmp = b;
23.         b = c;
24.         c = tmp;
25.     }
26.     printf("a=%d b=%d c=%d\n", a, b, c);
27. return 0;
28. }

代码理解:三个数字比较大小,我们想要的是a>b,a>c,b>c. 但是数字会出现我们不想要的,所以写出三个if语句,来实现我们想要的结果即可。

(2)给定两个数,求这两个数的最大公约数

代码1展示:辗转相除法

1. #include <stdio.h>
2. int main()
3. {
4.  int a = 18;
5.  int b = 24;
6.  int c = 0;
7.  while (c = a % b)
8.  {
9.    a = b;
10.     b = c;
11.   }
12.   printf("%d\n", b);
13.   return 0;
14. }

被除数/除数的余数作为下一个除数,除数作为被除数。当整除的时候,此时的除数就是最大公约数。

代码2展示:(最大公约数一定<=两者中较小的数,首先找出较小的数,然后再依次减一)

1. #include <stdio.h>
2. int main()
3. {
4.  int a = 0;
5.  int b = 0;
6.  int c = 0;
7.  int i = 0;
8.  scanf("%d %d", &a, &b);
9.  if (a > b)
10.     c = b;
11.   else
12.     c = a;
13.   for (i = c; i >= 0; i--)
14.   {
15.     if ((a % i == 0) && (b % i == 0))
16.       break;
17.   }
18.   printf("%d", i);
19.   return 0;
20. }

拓展:最小公倍数=m*n/最大公约数

(3)打印1000—2000 之间的闰年 判断是否是闰年

代码展示:

1. #include <stdio.h>
2. int main()
3. {
4.  int year = 0;
5.  for (year = 1000; year <= 2000; year++)
6.  {
7.    if (year % 4 == 0) 
8.    {
9.      if (year % 100 != 0)
10.       {
11.         printf("%d ", year);
12.       }
13.     }
14.     if (year % 400 == 0)
15.     {
16.       printf("%d ", year);
17.     }
18.   }
19.   return 0;
20. }

代码2展示:

1. #include <stdio.h>
2. int main()
3. {
4.  int year = 0;
5.  for (year = 1000; year <= 2000; year++)
6.  {
7.    if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
8.    {
9.      printf("%d ", year);
10.     }
11.   }
12.   return 0;
13. }

(4)打印100—200之间的素数

代码1展示:

1. #include <stdio.h>
2. int main()
3. {
4.  int i = 0;
5.  int j = 0;
6.  printf("100~200间的素数有:");
7.  for (i = 100; i <= 200; i++)
8.  {
9.    for (j = 2; j < i; j++)
10.     {
11.       if (i % j == 0)
12.         break;
13.     }
14.     {
15.       if (j == i)
16.         printf("%d ", i);
17.     }
18.   }
19.   return 0;
20. }

代码2展示:

1. #include <stdio.h>
2. #include <math.h>
3. int main()
4. {
5.  int i = 0;
6.  int j = 0;
7.  int shu = 1;
8.  printf("100~200间的素数有:");
9.  for (i = 101; i <= 200; i+=2)
10.   {
11.     shu = 1;
12.     for (j = 2; j <= sqrt(i); j++)
13.     {
14.       if (i % j == 0)
15.       {
16.         shu = 0;
17.         break;
18.       }
19. 
20.     }
21.     if (shu == 1)
22.       printf("%d ", i);
23.   }
24. }

知识点:(1)如果一个数a = m * n,一定有一个数 小于等于 a的开平方

(2)偶数是不能有素数的

(3)sqrt(a) C语言中的开平方 <math.h>

(5)求10个数字的最大值

代码1展示:

1. #include <stdio.h>
2. int main()
3. {
4.  int max = 0;
5.  int a = 0;
6.  int i = 0;
7.  for (i = 0; i < 10; i++)
8.  {
9.    if (i == 0)
10.     {
11.       scanf("%d", &a);
12.       max = a;
13.     }
14.     else
15.     {
16.       scanf("%d", &a);
17.       if (a > max)
18.         max = a;
19.     }
20.   }
21.   printf("%d", max);
22.   return 0;
23. }

代码2展示:

1. #include <stdio.h>
2. int main()
3. {
4.  int arr[10] = { 0 };
5.  int i = 0;
6.  for (i = 0; i < 10; i++)
7.  {
8.    scanf("%d", &arr[i]);
9.  }
10.   int max = arr[1];
11.   for (i = 0; i < 10; i++)
12.   {
13.     if (arr[i] > max)
14.       max = arr[i];
15.   }
16.   printf("%d", max);
17.   return 0;
18. }


相关文章
|
6月前
|
Go C语言
爱上C语言:分支与循环(循环篇)
爱上C语言:分支与循环(循环篇)
|
6月前
|
机器学习/深度学习 程序员 编译器
c语言从入门到实战——分支和循环
C语言是结构化的程序设计语言,这里的结构指的是顺序结构、选择结构、循环结构,C语言是能够实 现这三种结构的,其实我们如果仔细分析,我们日常所见的事情都可以拆分为这三种结构或者这三种结构的组合。 我们可以使用 if 、 switch 实现分支结构,使用 for 、 while 、 do while 实现循环结构。
100 0
c语言从入门到实战——分支和循环
|
6月前
|
C语言
【C语言】分支循环第二章2
【C语言】分支循环第二章
|
6月前
|
机器学习/深度学习 C语言
【C语言】分支循环第二章 1
【C语言】分支循环第二章
|
12月前
|
算法 C语言 数据安全/隐私保护
【C语言刷题】分支与循环系列
【C语言刷题】分支与循环系列
91 1
|
12月前
|
C语言
C语言分支语句和循环语句经典题及易错题
C语言分支语句和循环语句经典题及易错题
144 0
|
C语言
超详细的分支和循环语句知识点
超详细的分支和循环语句知识点
|
C语言
第四章:C语言的分支与循环
说起分支与循环呀,其实生活中充满着分支与循环,比如说当我们面临一个问题与抉择时,我们会选择,会做出规律性的生活方式。人生处处有选择,会有不同的道路,选择自己合适的道路,并保持下去。而C语言也有相关的分支与循环,如 if,if-else,switch,for循环,while循环,do-while循环,今天我们所要讲的是C语言:分支与循环。
51 0
|
C语言
C语言重要知识点【分支与循环】
C语言重要知识点【分支与循环】
133 0
|
机器学习/深度学习 C语言
C语言学习笔记—P6(分支和循环语句<1>+图解+动态演示+题例)
C语言学习笔记(分支和循环语句<1>+图解+动态演示+题例)
111 0
C语言学习笔记—P6(分支和循环语句<1>+图解+动态演示+题例)