c语言程序实验————实验报告十二

news/2024/9/24 18:06:37

c语言程序实验————实验报告十二

  • 实验项目名称: 实验报告十二 用指针处理函数与数组
  • 实验项目类型:验证性
  • 实验日期:2024 年 5 月 30 日

一、实验目的

1.掌握指针变量的定义格式,会定义和使用指针变量
2.能正确建立指针变量与数组(包括一维、两维和字符串数组)的联系,并正确使用指
针变量访问数组元素
3.掌握通过指针在函数间传递数组的各种方法
4.进一步学习程序调试

二、实验硬、软件环境

Windows计算机、Dev c 6.0

实验内容:

(1)将字符串中指定的字符用另一个字符替换。
(2)已知两个整型变量a,b,编写程序通过指针调用函数,输出两个数的最大值。
(3)已知一个整数数组,通过函数调用的方式,获取第n个数组元素的地址并输出。

三、实验步骤:

项目一

解题思路
输入int replace(char,char,char);输入主函数,首先char声明一个数组字符串"My name is jason."再声明c1,c2;指定一个被替换的字符gatchar()输入c1,输入fflush(stdin),输入新字符getchar输入c2,输入replace(s,c1,c2)将字符串s中的c1替换成c2。输入int replace(charp,char oldc,char newc),int声明整型i,for函数定义(i=0;p[i]!='\0';i++),p[i]=newc;
核心代码
#include<stdio.h>
int replace(char,char,char);
int main()
{
char s[]="My name is jason.";
char c1,c2;
printf("\n原来的字符串=%s",s);
printf("\n请指定一个被替换的字符:");
c1=getchar();
fflush(stdin);
printf("请输入一个新字符:");
c2=getchar();
replace(s,c1,c2);
printf("新的字符串=%s\n",s);
printf("31韩翔-项目1");
}
int replace(char
p,char oldc,char newc)
{
int i;
for(i=0;p[i]!='\0';i++)
if(p[i]==oldc)
p[i]=newc;
}
实验截图

项目二

解题思路
输入float max(float,float);输入主函数;float声明指针(p)(float,float)和a,b,m。scanf调用&a,&b;输入表达式p=max和m=(p)(a,b)。printf输出,a,b,m;输入自定义函数float max(float u,float v),float声明 z;输入表达式z=(u>=v)?u:v;return返回 (z);
核心代码
#include<stdio.h>
float max(float,float);
int main()
{
float(p)(float,float);
float a,b,m;
scanf("%f,%f",&a,&b);
p=max;
m=(
p)(a,b);
printf("a=%5.1f,b=%5.1f,max=%5.1f\n",a,b,m);
printf("31韩翔-项目2");
}
float max(float u,float v)
{
float z;
z=(u>=v)?u:v;
return (z);
}
实验截图

项目三

解题思路
输入自定义函数int c(int *p,int n),printf输出地址&p[n];输入int main(),int 声明数组a[10]={1,2,3,4,5,6,7,8}和整形变量n;scanf调用&n;输入c(a,n)去a中的第n个元素;
核心代码

include <stdio.h>

int c(int *p,int n)
{
printf("%d\n",&p[n]);
return 0;}
int main()
{
int a[10]={1,2,3,4,5,6,7,8},n;
printf("请输入想要获取的数组元素地址的下标\n");
scanf("%d",&n);
c(a,n);
printf("31韩翔-项目三\n");}
实验截图

实验结果及分析

在项目1中的输出代码printf("新的字符串=%s\n",s);后忘加分号,后改正
在项目2中scanf处没加分号,后改正。
在项目3中printf("%d\n",&p[n]);没加&,后改正

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

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

相关文章

6.21-二叉搜索树的最近公共祖先

235. 二叉搜索树的最近公共祖先 题意描述:给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己…

Python标注工具labelImg使用Pyinstaller打包成EXE的过程及问题处理

直接上过程 1.在python项目中使用pip命令安装pyinstaller。 2.在python编辑器(如Pycharm)终端切换到要打包的.py文件所在目录。 3.使用pyinstaller工具命令打包.py文件,如: pyinstaller labelImg.py --noconsole --workpath .\Pyinstaller\temp --distpath .\Pyinstaller\…

网易云音乐榜单爬取

打开网易云音乐,进入飙升榜进入到开发者工具页面,搜索列表页歌曲名称,查看请求地址模拟浏览器发出请求,查看响应内容import requestsurl = https://music.163.com/discover/toplist?id=19723756headers = {User-Agent:ozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebK…

AWX部署

目录awx1. 部署awx1.1 克隆仓库1.2 生成yaml1.3 部署operator1.4 查看pod1.5 修改镜像地址2. 登录awx2.1 查看端口2.2 查看默认密码 awx awx是红帽Ansible Tower的开源版本,他的功能是可以使用web界面来操作ansible 操作系统使用openEuler 22.03 这里是在k8s上部署的,需要使用…

开源表单设计器好不好用?优点怎么样?

开源表单设计器的优势表现在哪?一起来看看。要想实现提质增效,让数据资源更好地利用起来,助力企业增产创收,那就需要采用更理想的办公利器。低代码技术平台是近些年流行于各职场办公中的重要软件平台,更灵活、性能更高、更靠谱、优势特点也非常多,在推动企业实现数字化转…

condition expression returns non-Boolean

报错这个其实代表你的表达式写错了,正确的是 这里我使用的是单一网关参数可以在发起或者完成的时候,设置 "variable":{"a":200 } 这样发起流程后,会根据条件走向符合的节点

实验7_文件应用编程

#include <stdio.h> #include <string.h> #include <stdlib.h> int main() {int cnt=0;char c;FILE *fp;fp=fopen("data4.txt","r");while(!feof(fp)){c=fgetc(fp);if(c==\n||c== ||c==\t)continue;cnt++;}printf("文件中所含字符数…