11个c语言编程练习题

0. 钞票和硬币

money.c

读取一个带有两个小数位的浮点数,代表货币价值。将该值分解为多种钞票和硬币的和,要求使用的钞票和硬币的总数量尽可能少。 货币面值有100,50,20,10,5,1,0.5,0.1,0.05,0.01。

#include <stdio.h>int main() {float input;printf("输入货币价值: ");scanf("%f", &input);float money[] = {100.00, 50.00, 20.00, 10.00, 5.00, 1.00, 0.50, 0.10, 0.05, 0.01};//钞票 和 硬币 for (int i = 0; i < 10; i++) {int count = input / money[i];if(count!=0) printf("%d个%.2f元 ", count, money[i]);input -= count * money[i];}return 0;
}

在这里插入图片描述


1. 算术平方根

square_root.c

用二分法的方法求一个非负数的算术平方根,精度到0.0001
eg: 输入3.8输出1.9494

#include <stdio.h>
#include <math.h>double sqrt_binary(double num, double epsilon) {double left = 0;double right = num;double mid;while (right - left > epsilon) {mid = (left + right) / 2;if (mid * mid > num) {right = mid;} else {left = mid;}}return (left + right) / 2;
}int main() {float input_num;printf("输入非负数: ");scanf("%f", &input_num);double epsilon = 0.0001; double result = sqrt_binary(input_num, epsilon);printf("算术平方根为: %.4f", result);return 0;
}

在这里插入图片描述


2. 哥德巴赫猜想

Goldbach_conjecture.c

验证哥德巴赫猜想:任何一大于6的偶数均可表示为两个质数之和。即,输入一个大于6的偶数,输出一组满足条件的两个质数。
eg: 输入20 输出3 17

#include <stdio.h>int is_prime(int num) {int i;if (num <= 1) return 0;for (i = 2; i * i <= num; i++) {if (num % i == 0) return 0;}return 1;
}// 检查一个数是否为质数int main() {int n,i;printf("请输入一个大于6的偶数: ");scanf("%d", &n);if (n <= 6 || n % 2 != 0) {printf("输入无效,请输入一个大于6的偶数。\n");return 1;}// 寻找两个质数,使其和等于 nfor (i = 2; i <= n / 2; i++) {if (is_prime(i) && is_prime(n - i)) {printf("%d %d\n", i, n - i);return 0; // 找到一对质数后退出}}printf("未找到符合条件的质数对。\n");return 0;
}

在这里插入图片描述

3. 打印星号菱形

rhombus.c

打印星号组成的菱形图案

#include <stdio.h>int main() {int i, j, k, n = 4;  // n 菱形的一半高度(即上三角形的行数)for (i = 1; i <= n; i++) { // 上半部分(包括中间行)for (j = 1; j <= n - i; j++) {printf(" ");  // 打印前导空格,使*居中}for (k = 1; k <= 2 * i - 1; k++) {printf("*");  // 打印*}printf("\n");  // 换行}for (i = n - 1; i >= 1; i--) { // 下半部分for (j = 1; j <= n - i; j++) {printf(" ");  // 打印前导空格,使*居中}for (k = 1; k <= 2 * i - 1; k++) {printf("*");  // 打印*}printf("\n");  // 换行}return 0;
}

在这里插入图片描述

4. 分解质因数

factorize_into_prime.c

质因数分解是将一个合数(非质数)分解为若干个质数的乘积。将一个正整数分解质因数。例如:输入90,打印出90=233*5。

#include <stdio.h>int is_prime(int num) {int i;if (num <= 1) return 0;for (i = 2; i * i <= num; i++) {if (num % i == 0) return 0;}return 1;
}// 检查一个数是否为质数int main() {int n, i;printf("请输入需要分解的正整数(大于3且为非质数): ");scanf("%d", &n);//printf("分解质因数的结果为: %d=", n);if(n>3 && is_prime(n)==0) {printf("%d=", n);for (i = 2; i <= n; i++) {while (n % i == 0) {printf("%d", i);n = n / i;if (n > 1)  // 如果 n 不是最后一个质因数,则打印 '*'printf("*");}}}    	else printf("输入不合理"); printf("\n");return 0;
}

在这里插入图片描述

5. 整数的所有因数

factors.c

假如a*b=c(a、b、c都是整数),那么我们称a和b就是c的因数。

#include <stdio.h>int main()
{int n, i;printf("输入一个整数: ");scanf("%d",&n);printf(" %d 的因数有: ", n);for(i=1; i <= n; ++i){if (n%i == 0){printf("%d ",i);}}return 0;
}

在这里插入图片描述

6. 两数的所有公因数

common_factor.c

寻找两个数的所有公因数。

#include <stdio.h>int main()
{int n1, n2, i;printf("输入两数:");scanf("%d %d", &n1, &n2);for (i = 1; i <= (n1 > n2 ? n2 : n1) ; ++i){if (n1%i == 0 && n2%i == 0){printf("%d ", i);}}return 0;
}

在这里插入图片描述

7. 求Sn=a+aa+….(n个a)之值

sum.c

求Sn=a+aa+aaa+….+aa…a(n个a)之值,其中a是一个数字,n表示a的位数,a和n由键盘输入。

#include <stdio.h>
int main(){int a,n,s=0,m,k;printf("请输入a和n: \n");scanf("%d %d",&a,&n);k=a;for(m=1;m<=n;m++){s=s+k;k=k*10+a;}printf("Sn=%d\n",s);return 0;
}

在这里插入图片描述

8. 小球反弹

ball.c

一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下后再次反弹,按此规律,直到第8次反弹时,反弹多少高度?行程共有多少米?

#include <stdio.h>
int main(){float h=100,s=100;int i;for(i=1;i<=8;i++){h=h/2;s=s+h*2;}printf("第8次反弹时,反弹高度h=%f,行程共有s=%f\n",h,s-h);
}

在这里插入图片描述

9. 换分币

coins.c

用一元人民币兑换成1分、2分和5分硬币,共有多少种不同的兑换方法。总硬币数目小于等于100.

#include<stdio.h>
int main() {int i, j, k, count = 1;printf("兑换方法 : \n");for (i = 0; i <= 100; i++) {for (j = 0; j <=100 - i; j += 2) {for (k = 0; k <= 100 - i - 2* j; k += 5) {if (i +j + k == 100){printf((count-1) % 4 ? "法%d:1*%d+2*%d+5*%d\t":"法%d:1*%d+2*%d+5*%d\n", count++,i,j/2,k/5);}}}}			return 0; 	
}

在这里插入图片描述

10. 分数之和

sum1.c

求这样的四个自然数p,q,r,s(p<=q<=r<=s),使得以下等式成立:
1 p + 1 q + 1 r + 1 s = 1 \frac{1}{p}+\frac{1}{q}+\frac{1}{r}+\frac{1}{s}=1 p1+q1+r1+s1=1

#include <stdio.h>
int main() {int p, q, r, s;for (p = 1; p <= 100; p++) { //遍历所有可能的p,q,r,s的值,设上限为100,可调for (q = p; q <= 100; q++) {for (r = q; r <= 100; r++) {for (s = r; s <= 100; s++) {if (1.0/p + 1.0/q + 1.0/r + 1.0/s == 1) {printf("p=%d\tq=%d\tr=%d\ts=%d\t" //太长了换个行 "1/%2d + 1/%2d + 1/%2d + 1/%2d = 1\n", p, q, r, s, p, q, r, s);}}}}}return 0;
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/15854.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【go从零单排】Signals、Exit

&#x1f308;Don’t worry , just coding! 内耗与overthinking只会削弱你的精力&#xff0c;虚度你的光阴&#xff0c;每天迈出一小步&#xff0c;回头时发现已经走了很远。 &#x1f4d7;概念 在 Go 语言中&#xff0c;信号&#xff08;signals&#xff09;是操作系统用来通…

PyAEDT:Ansys Electronics Desktop API 简介

在本文中&#xff0c;我将向您介绍 PyAEDT&#xff0c;这是一个 Python 库&#xff0c;旨在增强您对 Ansys Electronics Desktop 或 AEDT 的体验。PyAEDT 通过直接与 AEDT API 交互来简化脚本编写&#xff0c;从而允许在 Ansys 的电磁、热和机械求解器套件之间无缝集成。通过利…

教你制作更方便快捷的电子产品目录!

​在现代工作环境中&#xff0c;电子产品目录进入目录内容的分类的制作。按照电子产品的是至关类型进行重要的分类&#xff0c;环节如&#xff1a;一个清晰、详尽手机、便于、电脑查找的电子产品目录&#xff0c;平板不仅能提高工作效率&#xff0c;还能给客户留下良好的印象。…

硬件工程师之电子元器件—二极管(5)之肖特基二极管

写在前面 本系列文章主要讲解二极管的相关知识&#xff0c;希望能帮助更多的同学认识和了解二极管。 若有相关问题&#xff0c;欢迎评论沟通&#xff0c;共同进步。(*^▽^*) 二极管 9. 肖特基二极管(SBD) 肖特基势垒二极管&#xff08;SBD&#xff09;作为一种二极管&#…

实习冲刺第二十一天

14.最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀&#xff0c;返回空字符串 ""。 示例 1&#xff1a; 输入&#xff1a;strs ["flower","flow","flight"] 输出&#xff1a;"fl"示例…

游戏引擎学习第11天

视频参考:https://www.bilibili.com/video/BV1QLmDYQE3n 平台层的编写 应该是平台可移植什么的吧 逐项补充说明&#xff1a; 存档位置 在游戏或应用程序中&#xff0c;需要保存用户的进度、设置和数据&#xff0c;存档位置是指存放这些数据的文件夹路径。通常&#xff0c;平台…

炼码LintCode--数据库题库(级别:入门;数量:144道)--刷题笔记_01

目录 炼码LintCode数据库入门级别的笔记未完待续~~~ 炼码LintCode 数据库 入门级别的笔记 笔记如下&#xff0c;把所有涉及到的入门级别的知识点简单总结了一下。 以及一点点举一反三的写法。 增 INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);批量增 INSERT INT…

ab (Apache Bench)的使用

Apache Bench&#xff08;ab&#xff09;是一个用于基准测试HTTP Web服务器的命令行工具&#xff0c;广泛用于评估和优化Web服务器的性能。以下是关于Apache Bench的详细介绍&#xff0c;包括其功能、使用方法、常用参数和输出结果解析。 功能 性能测试&#xff1a;通过模拟多…

Cellebrite VS IOS18Rebooting

Cellebrite VS IOS18Rebooting我们想分享一些有关 iOS 18 重启“功能”的信息。在过去一周左右的时间里&#xff0c;人们对 iOS 18 中一项新的未记录功能产生了极大关注&#xff0c;该功能会导致设备在一段时间不活动后重新启动。 这意味着&#xff0c;如果设备在一定时间不活…

YZ系列工具之YZ10:VBA_梦幻图像

我给VBA下的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。我的教程一共九套一部VBA手册&#xff0c;教程分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的…

企业网络安全管理策略

随着互联网和信息技术的飞速发展&#xff0c;网络安全威胁日益严峻&#xff0c;企业若不加强网络安全管理&#xff0c;可能会面临数据泄露、系统崩溃等严重后果。为了帮助企业有效应对这些挑战&#xff0c;以下是网络安全专家为您整理的五个策略&#xff0c;以提升网络安全防护…

如何禁用VMware虚拟网卡

安装VMWare虚拟机之后&#xff0c;会在本地创建两个虚拟网卡VMware Network Adapter VMnet1和VMware Network Adapter VMnet8&#xff0c;如果使用iNode客户端联网时会进行禁用多网卡检测&#xff0c;否则无法联网。因此&#xff0c;问题根源就在于虚拟网卡未禁用。 1、网络和…

11.13机器学习_贝叶斯和决策树

八 朴素贝叶斯分类 1 贝叶斯分类理论 假设现在我们有一个数据集&#xff0c;它由两类数据组成&#xff0c;数据分布如下图所示&#xff1a; 我们现在用p1(x,y)表示数据点(x,y)属于类别1(图中红色圆点表示的类别)的概率&#xff0c;用p2(x,y)表示数据点(x,y)属于类别2(图中蓝色…

Easyui ComboBox 数据加载完成之后过滤数据

Easyui ComboBox 数据加载完成之后过滤数据 需求 在ComboBox 下拉框中过滤包含"物联网"三个字的选项 现状 期望 实现方式 使用 combobox 的方法在加载时过滤 loadFilter 方式一&#xff1a;HTML中编写 <input id"enterpriseDepartmentCode" name&…

vue跳转传参

path 跳转只能使用 query 传参 ,name 跳转都可以 params &#xff1a;获取来自动态路由的参数 query &#xff1a;获取来自 search 部分的参数

div加4个角边框 css

效果&#xff1a; :root {--corner-color: #4ba7f5; } .data-item {position: relative;width: 100px;height: 60px;overflow: hidden;background: linear-gradient(to left, var(--corner-color), var(--corner-color)) left top no-repeat,linear-gradient(to bottom, var(-…

108. UE5 GAS RPG 实现地图名称更新和加载关卡

在这一篇里&#xff0c;我们将实现对存档的删除功能&#xff0c;在删除时会有弹框确认。接着实现获取玩家的等级和地图名称和存档位置&#xff0c;我们可以通过存档进入游戏&#xff0c;玩家在游戏中可以在存档点存储存档。 实现删除存档 删除存档需要一个弹框确认&#xff0…

CAN编程示例之socket CAN

socket CAN概念 socketcan子系统是在Linux下CAN协议(Controller Area Network)实现的一种实现方法。 CAN是一种在世界范围内广泛用于自动控制、嵌入式设备和汽车领域的网络技术。Linux下最早使用CAN的方法是基于字符设备来实现的&#xff0c;与之不同的是Socket CAN使用伯克利…

如何使用.bat实现检测电脑网络连接是否正常?

1、在电脑桌面新建一个记事本文档&#xff0c;将如下内容写进去&#xff1a; echo 正在检查中...echo off ping www.baidu.com -t pause:: 这是注释2、然后&#xff0c;保存一下&#xff0c;再把桌面此文件重命名为检查电脑外网连接.bat 3、双击此程序&#xff0c;可以检测…

C#高级:使用Invoke关键字通过 Type 类型调用指定的方法

demo如下&#xff1a; using System.Reflection; using System;public class Program {public class Calculator{public int Add(int a, int b){return a b;}}public class Student{public string Name { get; set; }}public class Example{// 泛型方法public string Generi…