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

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

知识点

(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. }


相关文章
|
3天前
|
数据采集 人工智能 安全
|
12天前
|
云安全 监控 安全
|
4天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1063 151
|
4天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话
|
17天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1739 9
|
9天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
685 152
|
11天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
653 12
|
6天前
|
SQL 自然语言处理 调度
Agent Skills 的一次工程实践
**本文采用 Agent Skills 实现整体智能体**,开发框架采用 AgentScope,模型使用 **qwen3-max**。Agent Skills 是 Anthropic 新推出的一种有别于mcp server的一种开发方式,用于为 AI **引入可共享的专业技能**。经验封装到**可发现、可复用的能力单元**中,每个技能以文件夹形式存在,包含特定任务的指导性说明(SKILL.md 文件)、脚本代码和资源等 。大模型可以根据需要动态加载这些技能,从而扩展自身的功能。目前不少国内外的一些框架也开始支持此种的开发方式,详细介绍如下。
413 4