C语言作业难题

news2024/9/23 15:20:54

计算 1 + 1/(2 * 3) + 1/(3 * 4) + ...+ 1/(n * (n + 1)) = ?直到最后一相值小于0.00001为至。

参考代码:

#include <stdio.h>
int main()
{
// 定义一个变量用来存储累加结果
double sum = 1;// 将第一个运算数直接赋值给sum,后期程序无需在处理
double n = 2; // 分母运算数
double k;
do
{
k = 1/(n * (n + 1));
sum += k;
n++;
}
while(k >= 0.00001);
printf("1 + 1/(2 * 3) + 1/(3 * 4) + ...+ 1/(n * (n + 1))=%lf\n",sum);
return 0;
}

计算1+1/2 - 1/3 + 1/4 - 1/5 ...+1/n= ? n通过键盘输入 。

参考代码:

#include <stdio.h>
int main()
{
// 定义一个变量,用来保存累加结果
double sum = 1;
// 定义一个变量存放n
int n;
// 定义一个符号位
int f = 1;
printf("请输入一个整数:\n");
scanf("%d",&n);
// 累加计算
for(int i = 2; i <= n;i++)
{
// 累加运算
sum += 1.0 / i * f;
// 改变符号位
f = -f;
}
printf("1+1/2 - 1/3 + 1/4 - 1/5 ...+1/n= %lf\n",sum);
return 0;
}

我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三 值 钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

分析:

参考代码:

#include <stdio.h>
// 定义鸡的价格
#define ROOSTER_PRICE 5
#define HEN_PRICE 3
#define CHICKEN_PRICE 1.0/3
int main()
{
// 定义三个变量,用来存放公鸡,母鸡,小鸡的只数
int rooster,hen,chicken;
// 计算100元买公鸡的只数
for(rooster = 0;rooster <= 100/ROOSTER_PRICE;rooster++)
{
// 计算100元买母鸡的只数,这里会受到公鸡的影响
for(hen = 0;hen <= 100/HEN_PRICE;hen++)
{
// 计算小鸡的只数,小鸡只数 = 100 - 公鸡数 - 母鸡数
chicken = 100 - rooster - hen;
// 检测百元买百鸡成立条件
if(rooster * ROOSTER_PRICE + hen * HEN_PRICE + chicken * CHICKEN_PRICE == 100)
{
printf("公鸡=%d只,母鸡=%d只,小鸡=%d只\n",rooster,hen,chicken);
}
}
}
return 0;
 

判断一个数是不是回文数。(回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整 数。 如:12321

分析:

参考代码:

#include <stdio.h>
int main()
{
// 定义两个变量,接收键盘录入的原始数据和反转后的数据
int num,renum = 0;
printf("请输入一个整数\n");
scanf("%d",&num);
// 因为num经过计算后,会变成0,所以需要临时存储原始数据
int num_t = num;
// 使用while循环实现数据的反转
while(num > 0)
{
// 从原始数据拆分每一个数字
int n = num % 10;// 拆取个位数字
num /= 10;// 缩小数字
// 组装反转后的数据
renum = renum * 10 + n;
}
// 校验原始数据和反转数据
if(num_t == renum)
{
printf("%d是回文数字\n",num_t);
}
else
{
printf("%d不是回文数字\n",num_t);
}
return 0;
}
 

从键盘录入一组数列,判断是否是回文,举例:12321,abba,121,1aba1

#include <stdio.h>
int main()
{
// 创建一个数组,接收键盘录入的数列
char arr[5] = {'0'};
int flag = 1;// 默认是回文字符串
int len = sizeof(arr)/sizeof(char);// 计算数组大小
printf("请输入字符[包含数字+字母]\n");
// 因为我们是向数组添加数据,所以需要使用for
for(int i = 0; i< len;i++)
{
scanf("%c",&arr[i]);
getchar();
}
// 打印测试输入的数列
printf("%s\n",arr);
// 判断是否是回文
for(int i = 0,j = len -1;i < len/2; i++,j--)
{
if(arr[i] != arr[j])
{
flag = 0;
break;
}
}
if(flag)
{
printf("%s是回文数列\n",arr);
}
else
{
printf("%s不是回文数列\n",arr);
}
return 0;
}

二维整型数组,求所有元素平均值,求每行最大值,求每列最小值。

#include <stdio.h>
/* 定义一个函数,实现求值 */
void cal(int arr[][10],int row,int col)
{
int sum = 0;// 用于存储所有元素的总和
int max_row;// 用于存储每行的最大值
int min_col;// 用于存储没列的最小值
double avg; // 用于存储所有元素的平均值
// 计算所有元素的和
for(int i = 0; i < row; i++)
for(int j = 0; j < col; j++)
sum += arr[i][j];
// 计算平均值
avg = (double) sum / (row * col);
// 输出结果:
printf("平均值:%.2f\n",avg);
// 计算每行的最大值
printf("每行最大值:\n");
for(int i = 0; i < row; i++)
{
max_row = arr[i][0];// 给最大值赋初始值
for(int j = 0; j < col; j++)
if(arr[i][j] > max_row)
max_row = arr[i][j];
printf("第%d行的最大值为:%d\n",i+1,max_row);
}
// 计算每列的最小值
printf("每列最小值:\n");
for(int j = 0; j < col; j++)
{
min_col = arr[0][j];// 给列最小值赋初始值
for(int i = 0; i < row; i++)
if(arr[i][j] < min_col)
min_col = arr[i][j];
printf("第%d列的最小值为:%d\n",j+1,min_col);
}
}
int main()
{
int arr[3][10] = {
{12,13,56,67,66,55,32,12,23,34},
{22,56,67,87,77,66,55,45,43,21},
{1,2,3,4,5,6,7,8,9,0}
};
int row = sizeof(arr)/sizeof(arr[0]);
int col = sizeof(arr[0])/sizeof(int);
cal(arr,row,col);
return 0;
}

编写一个函数,通过输入一个数字字符,返回该数字

#include <stdio.h>
int charToNumber(char c)
{
// 定义一个变量,用来存放转换后的数字,如果转换失败,就显示-1
int number = -1;
if(c >= '0' && c <= '9')
{number = c;
number -= '0';
}
return number;
}
int main()
{
char c;
printf("请输入一个0~9的字符:\n");
scanf("%c",&c);
getchar();
printf("返回的数字是:%d\n",charToNumber(c));
return 0;
}

设计函数,实现strcmp 的功能;

#include <stdio.h>
/*
自定义strcmp函数
const 数据类型 常量名; // 使用const修饰的变量是常量,表示一旦赋值,就不能改变,主要是访问变量被恶意篡

*/
int my_strcmp(const char arr1[],const char arr2[])
{
// 定义一个变量,初始值为0
int i = 0;
// 判断数组中是否存在字符,如果不存在就跳出循环
while(arr1[i] && arr2[i])
{
if(arr1[i] != arr2[i])
{
return arr1[i] - arr2[i];// 此时会产生两个结果,一个正数(1),一个是负数(-1)
}
i++;
}
return arr1[i] - arr2[i];// 此时会产生1个结果,0
}
int main()
{
const char str1[] = "Hello,MaJie";
const char str2[] = "Hello,MaYingLong";
int result = my_strcmp(str1,str2);
if(result < 0)
{
printf("'%s' 小于 '%s'\n",str1,str2);
}
else if(result > 0)
{
printf("'%s' 大于 '%s'\n",str1,str2);
}
else
{
printf("'%s' 和 '%s' 相同\n",str1,str2);
}
return 0;
}
 

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

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

相关文章

如何快速对接Android平台GB28181接入模块(SmartGBD)

好多开发者希望我们不是从代码级&#xff0c;而是从流程方面&#xff0c;大概介绍下Android端GB28181设备接入段模块。本文以SmartGBD的Camera2Demo为例&#xff0c;大概聊下相关的集成流程。 大牛直播SDK推出的Android平台GB28181接入SDK&#xff08;SmartGBD&#xff09;&am…

git commit提示node不是内部或外部命令,也不是可运行的程序 或批处理文件。

使用git commit 提交项目时提示"node" 不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件。 但是node早已安装了&#xff0c;node -v也能正常显示版本号&#xff0c;我检查了环境变量等配置&#xff0c;都是正常的 E:\work\2024\project12\DEMO>gi…

慧灵——引领智能机器人行业新潮流

随着人工智能和机器人技术的迅猛发展&#xff0c;智能机器人行业正迎来前所未有的增长潜力和创新机遇。慧灵科技作为行业内的佼佼者&#xff0c;以其创新技术和卓越性能&#xff0c;正在引领智能机器人行业的新潮流。 智能机器人行业是一个充满活力和潜力的领域。随着全球人口老…

花指令基础

花指令基础 偶尔更新。。。 默认会一点cpp和汇编。 文章目录 花指令基础1. 简介2. 常见类型1. jxjnx2. calladd [esp]ret 3. 等价解析1. push pop2. jmp call retn3. enter leave4. and MoeCTF 2022 chicken_soup参考 1. 简介 花指令可以误导反汇编&#xff0c;但不影响程序…

基于SpringBoot+Vue的物流管理系统(带1w+文档)

基于SpringBootVue的物流管理系统(带1w文档) 基于SpringBootVue的物流管理系统(带1w文档) 本课题研究和开发物流管理系统管理系统&#xff0c;让安装在计算机上的该系统变成管理人员的小帮手&#xff0c;提高物流管理系统信息处理速度&#xff0c;规范物流管理系统信息处理流程…

Vue - 关于v-wave 波浪动画组件

Vue - 关于v-wave 波浪动画组件 这个动画库可以在标签中添加新的v-wave属性&#xff0c;来让点击标签元素后添加漂亮的波纹效果&#xff0c;并且可以根据父元素自动形成波纹的颜色&#xff0c;也可以自定义波纹颜色&#xff0c;持续时间&#xff0c;透明度&#xff0c;触发的对…

JavaScript骚操作媒体查询攻略

背景 一讲到媒体查询&#xff0c;大家首先想到的可能都是都是CSS中media,这也没错&#xff0c;这确实是最常见的媒体查询方式&#xff0c;但是我们今天要讲的不是它&#xff0c;而是大家很少接触到的window.matchMedia()和window.resize 最近在做项目的时候拿到一个需求&…

MySQL笔记-基础篇(一):查询

博客主页: 南来_北往 系列专栏&#xff1a;Spring Boot实战 MySQL是一种广泛使用的关系型数据库管理系统&#xff0c;它基于结构化查询语言&#xff08;SQL&#xff09;来管理和操作数据。下面将依次探讨MySQL查询的各个方面&#xff0c;确保理解扎实&#xff0c;能够在实…

“阳光高考爬虫项目揭秘:增量爬虫与断点续抓的Python实战“

阳光高考项目 项目要求 爬取各大高校基本信息和招生简章&#xff08;招生简章要求存储为pdf格式并且入库&#xff09; 数据库表设计 idtask_urlstatus&#xff1a;0(未抓取)&#xff0c;1(抓取中)&#xff0c;2(抓取完毕)&#xff0c;3(错误)&#xff0c;4(更新中)&#xff…

C语言小练习(叁)

个人练习&#xff1a; 编程题&#xff1a; 1.编写一个函数&#xff0c;通过输入球的半径&#xff0c;返回球的体积&#xff1b; #include <stdio.h> #define pi 3.14 //计算球体积的函数 double v_ball(double r) {return 4.0 / 3.0 * pi * r * r * r; }int main() {d…

InfluxDB Studio 下载,时序数据库Windows图形界面操作

下载地址&#xff1a; https://github.com/CymaticLabs/InfluxDBStudio/releases解压缩后&#xff0c;双击 InfluxDBStudio.exe 运行。 参考 windows下 influxDB 操作工具 InfluxDBStudio 吐槽 现在 CSDN 太恶心了&#xff0c;动不动就让订阅或者积分下载资源。诚然&#…

【Python学习-UI界面】pyqt5页面布局

1、布局分类 序号类别描述1QBoxLayout可将小部件垂直或水平排列。它的派生类有QVBoxLayout&#xff08;用于垂直排列小部件&#xff09;和QHBoxLayout&#xff08;用于水平排列小部件&#xff09;。2QGridLayout对象呈现为行和列排列的单元格网格。该类包含addWidget()方法&am…

艾迈斯欧司朗推出突破性8通道915nm SMT脉冲激光器,开创激光雷达应用新时代

8通道915nm SMT脉冲激光器可增强自动驾驶汽车的远距离激光雷达系统&#xff1b;经过AEC-Q102认证的8通道QFN封装&#xff0c;具有高性能和高效率&#xff0c;采用艾迈斯欧司朗专有的波长稳定技术&#xff1b;基于20多年的脉冲激光器技术经验。 中国 上海&#xff0c;2024年8月8…

JAVA开发学习-day21

JAVA开发学习-day21 1. 删除表单数据 根据ElementUI的官方组件指南&#xff0c;为表单每列的数据添加删除按钮 <el-table :data"tableData" style"width: 100%"><el-table-column prop"id" label"ID" width"180"…

那些你应该掌握的linux命令

一、路径授权 要给 a 用户 b 路径的所有操作权限,可以使用以下命令&#xff1a; sudo chown -R a:a /b sudo chmod -R 770 /b1.sudo chown -R a:a /b chown 命令用于更改文件或目录的所有者和所属组。-R 选项表示递归地应用于目录及其内部的所有文件和子目录。a:a 表示将所有…

24/8/8算法笔记 条件筛选决策树根节点

筛选决策树的根节点是建立决策树过程中的一个重要步骤&#xff0c;主要原因包括&#xff1a; 减少计算量&#xff1a;选择合适的根节点可以减少树的深度&#xff0c;从而减少模型训练和预测时的计算量。 提高模型性能&#xff1a;选择最佳分裂点可以最大化模型的性能&#xff…

更换低版本jdk8后的idea页面怎么换回来

一、问题阐述 一开始我的idea是下面的界面&#xff1a; 这个页面美观&#xff0c;简洁。后来因为工作需要&#xff0c;从jdk17切换到jdk8的时候&#xff0c;页面变了 这个没有前面的好看&#xff0c;怎么回事&#xff1f; 二、解决方案 1、file——setting 2、搜索ui——New UI…

全新博客X主题/简约WordPress主题模板/主题巴巴/免授权版源码+自适应设计

源码简介&#xff1a; 博客X这款超酷的Wordpress主题&#xff0c;是主题巴巴团队打造的设计杰作。想象一下&#xff0c;你的博客首页能展示那些炫酷的幻灯片置顶文章、还有各种精心策划的专题列表&#xff0c;这些内容模块的设计简直吸睛了&#xff0c;能让来访的用户眼前一亮…

JAVA集中学习第四周学习记录(三)

系列文章目录 第一章 JAVA集中学习第一周学习记录(一) 第二章 JAVA集中学习第一周项目实践 第三章 JAVA集中学习第一周学习记录(二) 第四章 JAVA集中学习第一周课后习题 第五章 JAVA集中学习第二周学习记录(一) 第六章 JAVA集中学习第二周项目实践 第七章 JAVA集中学习第二周学…

SSL VPN综合实验

一、实验目的及拓扑 实验目的&#xff1a;构建企业内网和企业分支站点&#xff0c;其中企业内网通过防火墙实现双机热备并且与企业分支固定站点实现站点到站点IPsec VPN互联&#xff0c;与企业分支移动站点实现SSL VPN互联&#xff0c;企业内网各主机可以实现对分支站点内网的…