实验六 指针程序设计 要求设三个指针变量p1,p2,p3, 使p1指向三个数中最大者,p2指向次大者,p3指向最小者

1. 从键盘输入任意三个数,要求设三个指针变量p1,p2,p3, 使p1指向三个数中最大者,p2指向次大者,p3指向最小者, 然后从大到小输出三个数。

运行时分别输入3,7,5和6,-4,2,记录运行结果。

#include <stdio.h>
int main(){int a,b,c;// 最大 , 次大 , 最小 int *pMax,*pMid,*pMin;scanf("%d,%d,%d",&a,&b,&c);if(a>b){// pMax 指 a pMax=&a;// pMin 指 b pMin=&b;}else {// pMax 指 bpMax=&b;// pMin 指 a pMin=&a;}if(c<*pMin){// pMin 指 cpMin=&c;// pMid 指 b pMid=&b;}else if(c>*pMax){// pMax 指 cpMax=&c;// pMid 指 apMid=&a;}else{// pMid 指 c pMid=&c;}printf("%d,%d,%d\n",*pMax,*pMid,*pMin);return 0;
}

2.  求一元二次方程ax2+bx+c的根。要求用函数实现。提示:一元二次方程的求根公式:

 

#include <stdio.h>
#include <math.h>/** * x1 x2 为两个解 * 返回有几个解 */
int getSolve(int a,int b,int c,double *x1,double *x2){int dt = b*b-4*a*c;if(dt>=0){*x1 = (-b+sqrt(dt))/2*a;*x2 = (-b-sqrt(dt))/2*a;if(dt==0){return 1;}else{return 2;}} else {*x1=0;*x2=0;return 0;}
}
int main(){double x1,x2;int a,b,c;scanf("%d%d%d",&a,&b,&c);if(getSolve(a,b,c,&x1,&x2)){printf("x1=%lf,x2=%lf\n",x1,x2);} else {printf("无解\n");}return 0;
}

3.拆分实数的整数与小数部分:输入一个实数x (0<=x<=10000) ,输出其整数和小数。自定义一个函数void splitfloat(float x, int * intpart, float *fracpart),其中x是被拆分的实数,*intpart和*fracpart分别是将实数x拆分出来的整数部分与小数部分。自定义主函数,并在其中调用splitfloat()函数。试编写相应函数。

输入输出示例

Enter x: 5.34

The intpart is 5

The fracpart is 0.34

#include <stdio.h>
void splitfloat(float x, int *intpart, float *fracpart){// 获取x的整数部分 *intpart = (int)x;// 获取x的小数部分 *fracpart = x - (int)x;
}
int main(){int intpart;float x,fracpart;printf("Enter x:");scanf("%f",&x);splitfloat(x, &intpart,&fracpart);printf("The intpart is %d\n",intpart);printf("The fracpart is %.2lf\n",fracpart);return 0;
}

4.删除字符:输入一个字符串s,再输入一个字符c,将字符串s中出现的所有字符c删除。要求定义并调用函数delchar(s,c),它的功能是将字符串s中出现的所有c字符删除。试编写相应程序。

输入输出示例

Enter s string: Nice to meet you!

Enter a character: o

Nice t meet yu!

#include <stdio.h>
#include <string.h>
void delchar(char s[],char c){char copyS[100];int i,j;for(i=0,j=0;s[i]!='\0';i++){// 发现字符cif(s[i]==c){continue;}copyS[j] = s[i];j++;// printf("%c\t",s[i]);}strcpy(s,copyS);
}
int main(){char c,s[100]="\0";printf("Enter s string: ");gets(s);printf("Enter s character: ");scanf("%c",&c);delchar(s,c);puts(s);return 0;
}

5. 编写函数int charAt(char c, char s[], int begin),判断某个字符c在字符串s中出现的位置,从begin个字符开始判断,输出字符c首次出现的位置,如果begin开始的字符串中不存在字符c,输出-1。编写主程序,输入一个字符和一个字符串,利用上面的函数,输出字符在字符串中出现的次数,并输出字符出现的每一个位置。(字符串相关内容在教材第9章)

输入输出示例1

Hello world

o

5,8,字符o在字符串Hello world中出现了2次。

输入输出示例2

Hello world

a

字符a不在字符串Hello world中

#include <stdio.h>
#include <string.h>
int charAt(char c, char s[], int begin){int cnt=0;int i;for(i = begin-1;s[i]!='\0';i++){// 如果发现 c 字符 if(s[i]==c){cnt++;printf("%d,",i+1);}}// 如果 cnt 是 0 就返回-1 return (cnt)?cnt:-1;
}
int main(){char c,s[100]="\0";gets(s);scanf("%c",&c);// 从第一个字符开始判断 int cnt = charAt(c,s,1);if(cnt != -1){printf("字符%c在字符串%s中出现了%d次。\n",c,s,cnt);} else {printf("字符%c不在字符串%s中\n",c,s);}return 0;
}

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

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

相关文章

【C++】策略模式

目录 一、简介1. 含义2. 特点 二、实现1. 策略接口&#xff08;Strategy Interface&#xff09;2. 具体策略类&#xff08;Concrete Strategies&#xff09;3. 上下文类&#xff08;Context&#xff09;4. 使用策略模式 三、总结如果这篇文章对你有所帮助&#xff0c;渴望获得你…

mjpg-streamer配置其它端口访问视频

环境 树莓派4B ubuntu 20.04 U口摄像头 确认摄像头可访问 lsusb查看 在dev下可查看到video* sudo mplayer tv://可打开摄像头并访问到视频 下载mjpg-streamer并编译安装 在github下载zip包&#xff0c;下载的源码&#xff0c;需要编译安装 unzip解压 cd mjpg-streamer/mjp…

亚信科技AntDB数据库——深入了解AntDB-M元数据锁的相关概念

AntDB-M在架构上分为两层&#xff0c;服务层和存储引擎层。元数据的并发管理集中在服务层&#xff0c;数据的存储访问在存储引擎层。为了保证DDL操作与DML操作之间的一致性&#xff0c;引入了元数据锁&#xff08;MDL&#xff09;。 AntDB-M提供了丰富的元数据锁功能&#xff…

java写个爬虫抓取汽车之家车型配置参数

前几天有个搞工程的表弟找我&#xff0c;问我什么车好&#xff0c;可以经常跑工地的&#xff0c;看上去又有面子。于是我挥动发财的小手&#xff0c;写一个爬虫程序&#xff0c;筛选并整理了一些数据&#xff0c;并附上下载的图片提供参考&#xff0c;看中了果断第二天提车到手…

关于el-table中tree 懒加载默认3层及自动展开

1.问题 项目有用到el-table中使用tree 发现最多tree只显示到3层&#xff0c;及不能够自动展开的。 2.数据结构 经过探索&#xff0c;发现了el-table是通过treeData&#xff0c;和lazyTreeNodeMap 来控制懒加载数据对表格进行控制的。其中treeData的数据结构为 其主要用来保…

【Java】深入剖析Java枚举类

目录 定义1&#xff09;定义2&#xff09;内部实现3&#xff09;方法与源码 高级特性1&#xff09;switch用法2&#xff09;自定义传值与构造函数3&#xff09;枚举实现抽象方法4&#xff09;枚举注解属性5&#xff09;枚举实现接口6&#xff09;复合使用 总结 定义 1&#xf…

LeetCode 309买卖股票的最佳时机含冷冻期 714买卖股票的最佳时机含手续费 | 代码随想录25期训练营day51

动态规划算法9 LeetCode 309 买卖股票的最佳时机含冷冻期 2023.12.14 题目链接代码随想录讲解[链接] int maxProfit(vector<int>& prices) {//1确定dp二维数组//dp[i][0]表示遍历到第i天时持有股票的当前收入;dp[i][1]表示遍历到第i天时未持有股票的当前收入//dp…

网页图标素材免费下载网站

这里是几个可以免费下载网页图标素材的的网站。这些个网站里的图表和素材&#xff0c;应该是都可以免费下载的。&#xff08;至少我下载了几个素材是没有花钱的&#xff09; Flaticon iconArchive freepik 4. iconmonstr 5. Icons and Photos For Everything 如果想下载图片&a…

idea中定时+多数据源配置

因项目要求,需要定时从达梦数据库中取数据,并插入或更新到ORACLE数据库中 1.pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-…

centos7服务器上的文件上传到谷歌云盘(google drive)

1,下载gdrive客户端&#xff0c;Releases glotlabs/gdrive GitHub 2&#xff0c;下载完解压,并移动到cp gdrive /usr/local/bin/ 3&#xff0c;查看是否安装成功 4,添加账户&#xff0c;gdrive account add 根据链接&#xff0c;创建Client id和 Client secret 5,填写Client…

QT-ClementineMusierPlaey音乐播放器

QT-ClementineMusierPlaey音乐播放器 一、效果二、下载链接 一、效果 二、下载链接 https://download.csdn.net/download/u013083044/88629413

致远互联-OA wpsAssistServlet 任意文件读取漏洞复现

0x01 产品简介 致远互联-OA 是数字化构建企业数字化协同运营中台,面向企业各种业务场景提供一站式大数据分析解决方案的协同办公软件。 0x02 漏洞概述 致远互联-OA wpsAssistServlet 存在任意文件读取漏洞,攻击者可读取系统密码等敏感信息进一步控制系统。 0x03 复现环境…

整理b站黑马程序员C++课程中对于计算机视觉学习有所帮助的知识点。(重点用*标出)

文章目录 1、注释2、变量3、常量4、标识符5、整型 浮点型 字符型 字符串 布尔6、输入 输出7、逻辑运算法8、 程序流程结构9、三目运算符10、switch语句11、循环语句12、跳转语句13、*数组13.1一维数组名 14、二维数组15、**函数15.1、函数的调用15.2、函数的声明15.3、函数份文…

VMware安装Windows V10

一、安装Windows系统 1.下载Windows IOS 镜像文件 Windows官网 1&#xff09;点击下载工具 2&#xff09;点击 MediaCreationTool22H2.exe 运行 3&#xff09;选择&#xff1a;为另一台电脑创建安装介质&#xff08;U盘、DVD或者ISO文件&#xff09; 4&#xff09;根据自身…

Flink的容错机制

容错机制 容错&#xff1a;指出错后不影响数据的继续处理&#xff0c;并且恢复到出错前的状态。 检查点&#xff1a;用存档读档的方式&#xff0c;将之前的某个时间点的所有状态保存下来&#xff0c;故障恢复继续处理的结果应该和发送故障前完全一致&#xff0c;这就是所谓的检…

纳米软件分享:电源自动测试系统是什么?有什么特点和优势?

随着技术的发展以及测试需求的严格性&#xff0c;一种新的、利用软硬件结合的自动化测试方式油然而生。 电源自动测试系统是一种用于电子与通信技术领域的电子测量仪器&#xff0c;可以提供众多变化的硬件选择&#xff0c;满足产品升级所带来的新的测试要求。电源自动测试系统通…

Windows ❀ 关闭Google的自动更新功能

文章目录 1. 故障问题2. 解决方法 1. 故障问题 如何关闭掉Google的自动更新功能&#xff1f; 2. 解决方法 修改更新域名本地hosts为环回地址即可。 # 禁止google自动更新 127.0.0.1 update.googleapis.com备注&#xff1a; mac路径&#xff1a;/etc/hostswindows路径&…

Ansible介绍与安装

Ansible目前是运维自动化工具中最简单、容易上手的一款优秀软件&#xff0c;能够用来管理各种资源。用户可以使用Ansible自动部署应用程序&#xff0c;以此实现IT基础架构的全面部署。例如&#xff0c;借助于Ansible&#xff0c;我们可以轻松地对服务器进行初始化配置、安全基线…

IDEA中显示方法、类注释信息

目录 一、IDEA测试版本及环境二、操作步骤2.1 鼠标悬停在某一个方法上&#xff0c;从而显示方法的注释信息2.2 调用方法时同步显示方法注释信息2.3 在new一个对象时&#xff0c;这个对象有很多重载的构造方法&#xff0c;想要重载的构造函数都显示出来 一、IDEA测试版本及环境 …

LeetCode刷题--- 二叉搜索树中第K小的元素

个人主页&#xff1a;元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏 力扣递归算法题 【 http://t.csdnimg.cn/yUl2I 】【C】 【 http://t.csdnimg.cn/6AbpV 】数据结构与算法 【 http://t.csdnimg.cn/hKh2l 】 前言&#…