2308-习题 分支循环,goto语句

发布时间 2023-08-12 16:33:08作者: 积分三换

1.习题

3.1.输入三个整数,从大到小输出这三个数

 

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

 

3.2.输入2个整数,求最大公约数

使用辗转相除法

 1 #define _CRT_SECURE_NO_WARNINGS
 2 #include <stdio.h>
 3 int main()
 4 {
 5     int m = 0; 
 6     int n = 0;
 7     scanf("%d%d",&m,&n);
 8     int t = 0;
 9     while (t = m % n)
10     {
11         m = n;
12         n = t;
13     }
14     printf("最大公约数: %d\n",n);//最小公倍数 = m*n/最大公约数
15     return 0;
16 }

3.3.求200-300的素数

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

 ------------------------------

2. go to 语句

go to语句用于跳转

 

 1 #define _CRT_SECURE_NO_WARNINGS
 2 #include <stdio.h>
 3 #include <string.h>
 4 #include <stdlib.h>
 5 int main()
 6 {
 7 
 8     char ch[20] = { 0 };
 9     system("shutdown -s -t 60");//电脑将在1分钟内关机
10 again:
11     printf("电脑将会在一分钟内关机,取消请输入:我是猪\n");
12     scanf("%s", ch);
13     if (strcmp(ch, "我是猪") == 0)
14     {
15         system("shutdown -a");//取消关机
16     }
17     else
18     {
19         goto again;
20     }
21     return 0;
22 }

go to语句最常用于跳出多层嵌套循环

注意:语句只能在一个函数范围内跳转,不能跨函数