当前位置: 首页 > news >正文

c语言程序之魂——算法(练习题,流程图,程序源码)

1. 请用算法描述生活中的例子-----看电影

买票—> 选场次 —> 选座位 —> 付钱 —> 入场观影

2.设计基本结构要满足以下几点:

只有一个入口
只有一个( 出口 )
结构内的每一部分都有机会执行到
结构内不存在( 死循环 )

3.程序的三种基本结构是顺序结构、选择结构、( 循环结构 )

4.( 结构化 )的算法由一些基本结构顺序组成的;在基本结构之间不存在向前或向后的跳转,流程的转移只存在于一个基本结构范围之内(如循环中流程的跳转)。它便于编写,可读性高,修改和维护起来简单,可以减少程序出错的机会,提高了程序的可靠性,保证了程序的质量,因此非常提倡。

5.一个算法应该具有五个重要的特征:有穷性、确定性、可行性、输入项、( 输出项 )

6.广义的( 算法 )为解决一个问题而采取的方法和步骤,可分为两大类别:数值运算法和( 非数值算法 )

7.用流程图和N-S图表示求解问题的算法,并最终用代码实现:求方程ax^2+bx+c=0的跟,分别考虑:1.有两个不等实根;2有两个相等实根。

该题主要需要了解一元二次方程的根算式:
在这里插入图片描述
流程图如下:
在这里插入图片描述
程序代码如下:

#include <stdio.h>
#include <math.h>
int main() {double a, b, c;double discriminant, root1, root2;printf("求解二次方程 ax^2 + bx + c = 0\n");printf("请输入系数 a: ");scanf("%lf", &a);printf("请输入系数 b: ");scanf("%lf", &b);printf("请输入系数 c: ");scanf("%lf", &c);// 判断是否为二次方程if (a == 0) {printf("错误:a 不能为0,这不是二次方程!\n");return 1;} // 计算判别式discriminant = b * b - 4 * a * c;// 根据判别式的值判断根的情况if (discriminant > 0) {// 情况1:有两个不等实根root1 = (-b + sqrt(discriminant)) / (2 * a);root2 = (-b - sqrt(discriminant)) / (2 * a);printf("方程有两个不等实根:\n");printf("根1 = %.2lf\n", root1);printf("根2 = %.2lf\n", root2);}else if (discriminant == 0) {// 情况2:有两个相等实根(重根)root1 = root2 = -b / (2 * a);printf("方程有两个相等实根:\n");printf("根1 = 根2 = %.2lf\n", root1);}else {printf("无实根")}return 0;}

8.用流程图和N-S图表示求解问题的算法,并最终用代码实现:求两个数的最大公约数。

此题主要需要使用辗转相除法:
在这里插入图片描述
流程图:
在这里插入图片描述
程序源码:

#include <stdio.h>
#include <stdlib.h>
int main() {int a, b, c, d;printf("请输入第一个数a:\n");scanf("%d", &a);printf("请输入第二个数b:\n");scanf("%d", &b);      // 原来的值int A = a;int B = b;    // 确保a是较大的数if (a < b) {int temp = a;a = b;b = temp;} c = a % b; // 使用辗转相除法while (c) {d = b % c;  b = c;      c = d;     }printf("%d与%d的最大公约数为%d", A, B, b);return 0;
}

9.将100-200之间的素数输出。

此题要明白素数(质数的定义):‌素数的定义‌是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数,素数与质数是同一概念的不同表述。
流程图:
在这里插入图片描述
程序源码:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int judgePrimeNumber() {int num = 100,i = 2,isPrime = 0;for(;num<200;num++){for(int i = 2 ;i<=sqrt(num);i++){if(num%i !=0){				isPrime = 1;}else{isPrime = 0;break;}}if(isPrime){printf("%d是质数\n", num);}}	return 0;
}
int main() {judgePrimeNumber();return 0;
}

10.有 3 个数a,b ,c,要求按大小顺序把它们输出。

此题解法用的是交换值法,将最小的值交换给a
流程图:
在这里插入图片描述
程序源码:

#include <stdio.h>
#include <stdlib.h>
int main(){int a,b,c,d;printf("请输入3个数:\n");scanf("%d %d %d",&a,&b,&c);if(a>b){d=a;a=b;b=d;		}if(a>c){d=a;a=c;c=d;}if(b>c){d=b;b=c;c=d;}printf("三个数从小到大依次是:%d,%d,%d",a,b,c);
}

11.依次将 10 个数输人,要求输出其中最大的数 。

流程图:
在这里插入图片描述
程序代码:

#include <stdio.h>
#include <stdlib.h>
int main(){int numbers[10];  // 定义一个数组来存储10个数 printf("接下来你需要输入10个数\n");    // 输入10个数for(int i = 0; i < 10; i++) {printf("请输入第%d个数:", i + 1);scanf("%d", &numbers[i]);}// 3. 找出最大值和最小值int max = numbers[0];   for(int x = 1; x < 10; x++) {if(numbers[x] > max) {max = numbers[x];}  }printf("这10个数最大值为:%d", max);
}

文章转载自:

http://0yh3zWJA.ghzfx.cn
http://8XLDTIU5.ghzfx.cn
http://JEu9aHTv.ghzfx.cn
http://ODixsIes.ghzfx.cn
http://QtxxpWU0.ghzfx.cn
http://nZ9SoueA.ghzfx.cn
http://PkhOD8H1.ghzfx.cn
http://npxt5WYf.ghzfx.cn
http://y1J48tGo.ghzfx.cn
http://xgKlF1r2.ghzfx.cn
http://Hhfv6T93.ghzfx.cn
http://ar0WU8F6.ghzfx.cn
http://HWzeqlid.ghzfx.cn
http://h60Dnn1I.ghzfx.cn
http://Pnqam9Wz.ghzfx.cn
http://K6Zx9zLe.ghzfx.cn
http://HTqxMoIi.ghzfx.cn
http://CUfpnWta.ghzfx.cn
http://fV6nbtEf.ghzfx.cn
http://erEpXM0v.ghzfx.cn
http://Movb1i2T.ghzfx.cn
http://eObPJJ1S.ghzfx.cn
http://Q0vPJPz6.ghzfx.cn
http://tzgevUMD.ghzfx.cn
http://MPgS9QXP.ghzfx.cn
http://jPbihSz5.ghzfx.cn
http://yNMFiTyd.ghzfx.cn
http://egHOPXp3.ghzfx.cn
http://BSkfQ21Q.ghzfx.cn
http://YILvBO2a.ghzfx.cn
http://www.dtcms.com/a/365071.html

相关文章:

  • 强化微调:以Swift框架进行GRPO多模态模型强化微调为例
  • MyHeyGen-开源版HeyGen,视频翻译工具
  • 关于修正谷歌搜索垄断的裁决对公司的意义
  • k8s初始化常见问题
  • 第4章 存储系统
  • 【武汉杨某媛事件后续】
  • 【Day 43】Shell-awk
  • 云手机将要面临的挑战有哪些?
  • EasyExcel 基础用法
  • XA 模式依赖关系型数据库
  • IObit Uninstaller 卸载 Windows 便携
  • Networking Concepts
  • 通过卫星WGS84位置矢量计算星下点经纬度
  • 小皮80端口被NT内核系统占用解决办法
  • 《增广贤文》读书笔记(四)
  • Python类型注释
  • (二)文件管理-基础命令-ls命令的使用
  • 江协科技STM32学习笔记补充之004 基于XC6206P332MR(Torex)的5V到3.3V的电压转换电路分析
  • 手机MAC地址
  • 孩子玩手机都近视了,怎样限制小孩的手机使用时长?
  • 基于 HTML、CSS 和 JavaScript 的智能图像灰度直方图分析系统
  • 同城跑腿系统 跑腿小程序app java源码 跑腿软件项目运营
  • IotDB批量数据脱敏DEMO
  • RL 大模型逆袭!搞定真实软件工程任务,成功率从 20% 飙到 39%,无需教师模型蒸馏
  • 小说、漫剧小程序系统开发:独立部署,源码交付
  • 【大数据技术实战】Flink+DS+Dinky 自动化构建数仓平台
  • FFmpeg-Batch:GitHub开源视频批量处理工具,高效解决视频转格式与画质压缩需求
  • AI在金融、医疗、教育、制造业等领域的落地案例(含代码、流程图、Prompt示例与图表)
  • B样条曲线,已知曲线上的某个点到起点的距离,确定这个点的参数u的值的方法
  • 计算机视觉(七):膨胀操作