首页 > 编程语言 >c语言程序实验————实验报告十一

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

时间:2024-05-26 14:11:47浏览次数:27  
标签:p2 十一 p1 10 int 程序 数组 printf 实验报告

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

  • 实验项目名称: 实验报告11 指针的基本使用
  • 实验项目类型:验证性
  • 实验日期:2024 年 5 月 23 日

一、实验目的

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

二、实验硬、软件环境

Windows计算机、Dev c 6.0

实验内容:

(1)已知两个变量a、b,利用指针法交换两个值并输出。
(2)定义一个有10个元素的数组a,利用指针法输入输出数组各元素。
(3)使用指针法,自定义函数计算某个整型数组的各元素之和。
(4)在一维数组中存入10个整数并排序,其中数组数据的输入、排序和输出功能用自定义函数实现。

三、实验步骤:

项目一

解题思路
int声明变量a,b,t和指针p1,p2;scanf调用&a,&b;p2指向b的地址&b;p1指向a的地址&a;输入定义式t=p2;p2=p1;p1=t;printf输出(a,b交换后的值p1,p2。
核心代码
#include<stdio.h>
int main()
{
int a,b,t,p1,p2;
printf("请输入两个值:\n");
scanf("%d%d",&a,&b);
p2=&b;
p1=&a;
t=p2;
p2=p1;
p1=t;
printf("a=%d,b=%d\n",
p1,
p2);
printf("31韩翔-项目1");
}
实验截图

项目二

解题思路
int声明数组a[10],变量i和指针p=a;for函数定义i=0;i<=9;i++,scanf定义,p+i;for函数再次定义i=0;i<=9;i++,printf输出和(p+i);printf("\n");
核心代码
#include<stdio.h>
int main()
{
int a[10],i,p=a;
for(i=0;i<=9;i++)
scanf("%d",p+i);
for(i=0;i<=9;i++)
printf("%2d",
(p+i));
printf("\n");
printf("31韩翔-项目2");
}
实验截图

项目三

解题思路
自定义函数int fun(int,int);输入主函数int main(),int声明a[5]={1,2,3,4,5}和变量i;i=fun(a,5);其中调用函数fun并将结果赋值给i,printf输出各个数组元素之和i;int fun(intp,int n),int说明变量b,t=0;for函数定义(b=0;b<n;b++)输入定义是t+=(p+b);return返回t;
核心代码
#include<stdio.h>
int fun(int
,int);
int main()
{
int a[5]={1,2,3,4,5},i;
i=fun(a,5);
printf("各个数组元素之和为:%d\n",i);
printf("31韩翔-项目3");
}
int fun(intp,int n)
{
int b,t=0;
for(b=0;b<n;b++)
t+=
(p+b);
return t;
}
实验截图

项目四

解题思路
输入头函数#defineN10定义一个N,其值为10,声明了三个函数原型:inputdata用于输入数据,mysort用于排序数组,outdata用于输出排序后的数据。输入int inputdata(int *p,int n)。while函数定义(--n>=0)。scanf函数定义p+n。输入int mysort(int *p,int n),int说明变量i,j,k;for函数定义(i=0;i<n;i++),for函数定义(k=i,j=k+1;j<n;j++),if函数定义(p[k]>p[j]),k=j;if如果(k-i)输入定义式j=p[i],p[i]=p[k],p[k]=j;。输入int outdata(int *p,int n),while当(n>0),printf输出p[10-n--];输入int main(int argc,char *argv[]),int定义一个整数数组a,其大小为N(即10).调用inputdata函数,调用mysort函数,对数组a进行排序。调用outdata函数,输出排序后的数组元素。return返回0。
核心代码
#include <stdio.h>
#define N 10
int inputdata(int *p,int n){
printf("输入十个元素\n");
while(--n>=0)
scanf("%d",p+n);
}
int mysort(int *p,int n){
int i,j,k;
printf("\n");
for(i=0;i<n;i++){
for(k=i,j=k+1;j<n;j++)
if(p[k]>p[j])
k=j;
if(k-i)
j=p[i],p[i]=p[k],p[k]=j;
}
}
int outdata(int *p,int n){
while(n>0)
printf("%d ",p[10-n--]);
printf("\n");
}
int main(int argc,char *argv[]){
int a[N];
inputdata(a,N);
mysort(a,N);
outdata(a,N);
printf("31韩翔-项目4");
return 0;
}
实验截图

四、实验结果及分析

在项目一中scanf中没加逗号导致代码运行不了,后改正。
在项目三中int定义i后没加分号导致运行不了,后检查出并改正。
在项目四中scanf处%d少加一个逗号,后改正。

标签:p2,十一,p1,10,int,程序,数组,printf,实验报告
From: https://www.cnblogs.com/hx666666666/p/18213570

相关文章

  • c语言程序实验————实验报告十
    c语言程序实验————实验报告十实验项目名称:实验报告10函数的调用实验项目类型:验证性实验日期:2024年5月20日一、实验目的1.掌握定义函数的方法2.掌握函数调用、实参与形参的对应关系、参数的传递方式3.掌握函数的嵌套调用和递归调用的方法4.掌握全局变量和局部......
  • 03 安装及管理应用程序
    1、Linux命令与应用程序的关系在Linux操作系统中,一直以来对命令和应用程序没有特别明确的区别,因此对安装软件包与安装应用程序这两种说法,并不做严格的区分。2、Linux应用程序的组成安装完一个软件包之后,可能会向系统中复制大量的数据文件,并进行相关设置。在Linux操作系统中......
  • 程序分享--常见算法/编程面试题:多数元素
    关注我,持续分享逻辑思维&管理思维&面试题;可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导;有意找工作的同学,请参考博主的原创:《面试官心得--面试前应该如何准备》,《面试官心得--面试时如何进行自我介绍》, 《做好面试准备,迎接2024金三银四》。或关注博主免费专栏【程序......
  • 成为程序员后我都明白了什么?从入行到弃坑?
        这篇文章贩卖焦虑!慎看        作为一个入行近10年的php程序员,真心感觉一切都才刚开始,对计算机,编程语言的理解也好,程序员中年危机也罢,之前都是听别人说的,真的自己到了这个水平,这个年龄才深刻体会到这其中的种种。    我一直觉得自己的水平应该还......
  • SpringBoot+Vue+uniapp微信小程序仓储进销存管理系统
    文末获取资源,收藏关注不迷路文章目录项目介绍技术介绍项目界面关键代码目录项目介绍随着科学研究的不断深入,有关仓储的各种信息量不断成倍增长。面对庞大的信息量,就需要有仓储管理系统来提高管理工作的效率。通过这样的系统,我们可以做到信息的规范管理和快速查询......
  • 113文章解读与程序——电力系统保护与控制EI\CSCD\北大核心《改进多元宇宙算法的主
    ......
  • 计算机毕业设计项目推荐,82131基于SSM的流浪动物救助网站的设计与实现(开题答辩+程序定
    SSM流浪动物救助网站摘要随着生活水平的持续提高和家庭规模的缩小,宠物已经成为越来越多都市人生活的一部分,随着宠物的增多,流浪的动物的日益增多,中国的流浪动物领养和救助也随之形成规模,同时展现巨大潜力。本次系统的是基于SSM框架的流浪动物救助网站管理系统,平台用户可以......
  • (免费领取源码)计算机毕业设计项目:07558基于Python的校园宿舍(开题答辩+程序定制+全套文
    摘要本论文主要论述了如何使用django开发一个校园宿舍管理系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述校园宿舍管理系统的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各......
  • windows使用终端运行Java程序出现假死的情况解决
    在终端的顶部右键,点击属性在属性界面中将快速编辑模式与插入模式取消勾选这样设置完之后就可以解决程序出现假死的问题。......
  • 基于FPGA的NC图像质量评估verilog实现,包含testbench和MATLAB辅助验证程序
    1.算法运行效果图预览vivado2019.2和matlab2022a测试,结果如下:    2.算法运行软件版本vivado2019.2 matlab2022a 3.算法理论概述​      图像质量的含义包括图像的逼真度和图像的可读懂性。所谓图像的逼真度是指被评价图像与标准图像的偏离程度,偏差越......