(实验七)指针的使用

合集下载

C语言实验-第七章-第九章2

C语言实验-第七章-第九章2

实验七:指针的应用【实验目的】1.掌握指针和指针变量,内存单元和地址、变量与地址、数组与地址的关系;2.掌握指针变量的定义和初始化,指针变量的引用方式;3.能正确使用数组的指针和指向数组的指针变量;【实验内容】1.填空题输入一个字符串,将其中的大写字母转换成小写字母,然后输出本程序主要是比较scanf()输入和gets()输入的区别#include <stdio.h>void main(){ char s[20];char *p=s;scanf(“%s”,p); /*注意用scanf()输入和gets()输入的区别*/while( 1 ){if( 2 ) *p=*p+ (‘a’-‘A’);p++ ;}puts ( 3 );}答案:1、*p!=’\0’2、(*p>='A')&&(*p<='Z')3、s运行结果:输入:Program输出:program输入:This is Program输出:this提示:scanf ()输入时遇到空格认为字符串结束,用gets()输入时只有遇到回车才认为字符串结束。

如键入any boy并回车,则2。

补充程序题输入15个整数存入一维数组,再按逆序重新调整该数组中元素的顺序然后再输出。

下面给出部分程序的内容,请将程序补充完整,然后上机调试。

部分程序清单如下:#include <stdio.h>void main(){ int a[15],*p1,*p2,x;for(p1=a;p1<a+15;p1++)scanf("%d",p1);for(p1=a,p2=a+14;p1<a+7;p1++,p2--){ x=*p1;*p1=*p2;*p2=x;}……}答案:for(p1=a;p1!=a+15;p1++)printf("%d ",*p1); // %d后面有一个空格运行结果:输入:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15输出:15 14 13 12 11 10 9 8 7 6 5 4 3 2 1提示:(1)在整型数组中,没有结束标志,必须依靠数组中数据元素的个数控制循环次数。

利用指针排序实验报告(3篇)

利用指针排序实验报告(3篇)

第1篇一、实验目的1. 理解指针在排序算法中的应用。

2. 掌握几种常见的排序算法(如冒泡排序、选择排序、插入排序等)的指针实现方式。

3. 比较不同排序算法的效率,分析其优缺点。

二、实验环境1. 操作系统:Windows 102. 编程语言:C++3. 开发环境:Visual Studio 2019三、实验内容本次实验主要实现了以下排序算法:1. 冒泡排序2. 选择排序3. 插入排序以下是对每种排序算法的具体实现和性能分析。

1. 冒泡排序(1)算法原理冒泡排序是一种简单的排序算法。

它重复地遍历待排序的序列,比较每对相邻的元素,如果它们的顺序错误就把它们交换过来。

遍历序列的工作是重复地进行,直到没有再需要交换的元素为止。

(2)指针实现```cppvoid bubbleSort(int arr, int len) {for (int i = 0; i < len - 1; i++) {for (int j = 0; j < len - 1 - i; j++) {if ((arr + j) > (arr + j + 1)) {int temp = (arr + j);(arr + j) = (arr + j + 1);(arr + j + 1) = temp;}}}}```(3)性能分析冒泡排序的时间复杂度为O(n^2),空间复杂度为O(1)。

当待排序序列基本有序时,冒泡排序的性能较好。

2. 选择排序(1)算法原理选择排序是一种简单直观的排序算法。

它的工作原理是:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。

以此类推,直到所有元素均排序完毕。

(2)指针实现```cppvoid selectionSort(int arr, int len) {for (int i = 0; i < len - 1; i++) {int minIndex = i;for (int j = i + 1; j < len; j++) {if ((arr + j) < (arr + minIndex)) {minIndex = j;}}int temp = (arr + i);(arr + i) = (arr + minIndex);(arr + minIndex) = temp;}}```(3)性能分析选择排序的时间复杂度为O(n^2),空间复杂度为O(1)。

C语言教材第七章指针实验

C语言教材第七章指针实验

C语⾔教材第七章指针实验第七章指针第⼀部分知识训练【知识要点】1. 地址与指针指针变量的概念:⽤⼀个变量专门来存放另⼀个变量的地址。

2. 指向变量的指针变量指针变量的形式:基类型 *指针变量名;&: 取地址运算符;*:指针运算符。

3. 指针与数组引⽤⼀个数组元素可以⽤下标法和指针法;可以⽤数组名作函数的参数。

4.指针与函数函数指针变量定义的⼀般形式为:类型说明符 (*指针变量名)();⼀个函数的返回值可以是⼀个函数。

【典型习题与解析】5. char * const p;char const * pconst char *p上述三个有什么区别?【解析】char * const p; //常量指针,p的值不可以修改;char const * p;//指向常量的指针,指向的常量值不可以改;const char *p; //和char const *p。

6. main(){int a[5]={1,2,3,4,5};int *ptr=(int *)(&a+1);printf("%d,%d",*(a+1),*(ptr-1));}输出结果是什么?【解析】答案:输出:2,5*(a+1)就是a[1],*(ptr-1)就是a[4],执⾏结果是2,5。

&a+1不是⾸地址+1,系统会认为加⼀个a数组的偏移,是偏移了⼀个数组的⼤⼩(本例是5个int)。

1)&a是数组指针,其类型为 int (*)[5];⽽指针加1要根据指针类型加上⼀定的值,不同类型的指针+1之后增加的⼤⼩不同。

2)a是长度为5的int数组指针,所以要加 5*sizeof(int),所以ptr实际是a[5],但是prt与(&a+1)类型是不⼀样的(这点很重要),所以prt-1只会减去sizeof(int*) a,&a的地址是⼀样的,但意思不⼀样。

3)a是数组⾸地址,也就是a[0]的地址,&a是对象(数组)⾸地址,a+1是数组下⼀元素的地址,即a[1],&a+1是下⼀个对象的地址,即a[5]。

实验七指针与引用

实验七指针与引用

实验七指针与引用一、实验目的和要求1.掌握指针、指针变量、指针常量的基本概念;2.掌握指针与数组、指针与函数的关系及应用。

3.初步掌握引用的概念及简单应用。

二.相关知识点1.指针变量的定义,由数据类型后跟星号,再跟指针变量名组成。

2.引用值是引自所指向的实体。

3.指针与数组都可以作为参数。

三.实验内容1.题目:下面的程序中,调用了findma某()函数,该函数寻找数组中的最大元素,将该元素的下标通过参数返回,并返回其地址值,编程实现findma某()函数。

1.思路分析:2.编程如下:#include<iotream.h>int某findma某(int某array,intize,int某inde某);voidmain(){ inta[10]={33,91,54,67,82,37,85,63,19,68};int某ma某addr;intid某;ma某addr=findma某(a,izeof(a)/izeof(某a),&id某);cout<int某findma某(int某array,intize,int某inde某){inti,ma某;int某p;p=array;ma某=某array;for(i=0;ima某){ma某=某(array+i);p=array+i;某inde某=i;}returnp;}}3.实验结果:}2.读下列程序,将其改写为传递引用参数;将findma某()函数改写成非递归函数(重新考虑参数个数)。

#include<iotream.h>contize=10;voidfindma某(int某a,intn,inti,int某pk);voidmain(){inta[ize];intn=0;cout<<\请输入\个数据:\for(inti=0;i<ize;i++)cin>>a[i];findma某(a,ize,0,&n);cout<voidfindma某(int某a,intn,inti,int某pk){if(iif(a[i]>a[某pk])某pk=i;findma某(a,n,i+1,&(某pk));}}1.思路分析:2.编程如下:#include<iotream.h>contize=10;//voidfindma某(int某a,intn,inti,int某pk);voidfindma某(int 某a,intn,inti,int&pk);voidmain(){inta[ize];intn=0;cout<<\请输入\个数据:\for(inti=0;i<ize;i++)cin>>a[i];//findma某(a,ize,0,&n);findma某(a,ize,0,n);cout</某voidfindma某(int某a,intn,inti,int某pk){if(ia[某pk])某pk=i;findma某(a,n,i+1,&(某pk));}}某/voidfindma某(int某a,intn,inti,int&pk){for(;ia[pk])pk=i;}3.实验结果3.编制程序,将输入的一行字符加密和解密。

实验七 功能指令的编程实验

实验七  功能指令的编程实验

实验七功能指令的编程实验一、实验目的1、通过实验了解部分功能指令的编程与调试的方法2、进一步熟悉STEP7编程软件的使用3、熟悉数据区的下载的使用方法、特性,熟悉系统块的设置方法。

二、实验内容1、跳转与标号指令:将下面的程序下载到PLC,用状态表或程序状态功能监视各输出点和定时器的运行情况。

LD I0.0JMP 0 //I0.0为ON时跳步条件满足LD I0.4= Q0.1LD I0.1TON T37,100 //100ms定时器,设定值为10sLD I0.2TON T33,1000 //10ms定时器,设定值为10sLBL 0LD T33= Q0.0接通I0.0对应的小开关,跳步指令JMP的跳步条件满足,将跳到标号LBL 0处。

此时接通I0.4对应的小开关,观察是否能控制Q0.1。

依次检查两个定时器与跳步的关系,即在跳步条件不满足时启动某一定时器定时,在定时过程中使跳步条件满足,观察该定时器的当前值是继续变化还是保持不变,如果还在继续变化,是否还能用I0.1或I0.2来控制定时器的运行,定时时间到时定时器位是否变为ON,并在跳步区外起作用。

2、循环指令:将下面的程序下载到PLC,在状态表中监视VW100—VW108和存储累加和的VD10,将数据写入VW100—VW108,用I0.0对应的小开关启动循环指令的执行,观察求出的累加和是否正确。

//在I0.0变为ON的上升沿,求VW100—VW108中五个字的累加和。

LD I0.0EU //在I0.0变为ON的上升沿时MOVB 0,AC0 //清累加器0MOVD &VB100,AC1 //累加器1指向VB100FOR VW0,1,5 //循环开始LD SM0.0+I *AC1,AC0 //字累加+D 2,AC1 //指针AC1的值加2,指向下一个字NEXT //循环结束LD SM0.0MOVD AC0,VD103、比较指令:将下面的程序下载到PLC,运行该程序,监视T33当前值的变化情况,观察Q0.0是否能输出方波。

c语言实验报告实验

c语言实验报告实验

c语言实验报告实验C 语言实验报告实验一、实验目的本次 C 语言实验的主要目的是通过实际操作和编程实践,加深对 C 语言基本语法、数据类型、控制结构、数组、指针等重要概念的理解和掌握,提高编程能力和解决实际问题的能力。

二、实验环境本次实验使用的编程环境为 Visual Studio 2019,操作系统为Windows 10。

三、实验内容1、基本数据类型和运算符的使用定义不同类型的变量,如整数型(int)、浮点型(float、double)、字符型(char)等,并进行赋值和运算操作。

熟悉各种运算符的优先级和结合性,包括算术运算符(+、、、/、%)、关系运算符(>、<、>=、<=、==、!=)、逻辑运算符(&&、||、!)、位运算符(&、|、^、~、<<、>>)等。

2、控制结构的应用使用ifelse 语句实现条件判断,根据不同的条件执行相应的代码块。

运用 switch 语句进行多分支选择,处理不同的情况。

利用 for 循环、while 循环和 dowhile 循环实现重复执行的操作,例如计算数列的和、打印特定的图案等。

3、数组和字符串的操作定义和使用一维数组、二维数组,进行数组元素的访问、赋值和遍历。

掌握字符串的存储和处理方式,使用字符数组和字符串函数(如strlen、strcpy、strcmp 等)进行字符串的操作。

4、指针的应用理解指针的概念和指针变量的定义,通过指针访问变量和数组元素。

实现指针与数组、指针与函数的结合使用,体会指针在程序中的灵活运用。

5、函数的定义和调用编写自定义函数,实现特定的功能,如计算阶乘、判断素数等。

掌握函数的参数传递方式(值传递和地址传递),理解函数的返回值。

6、结构体和共用体的使用定义结构体类型,创建结构体变量,访问结构体成员。

了解共用体的概念和使用场景,比较结构体和共用体的区别。

四、实验步骤1、实验准备打开 Visual Studio 2019 开发环境,创建一个新的 C 语言项目。

C++上机实验报告(指针)

C++上机实验报告(指针)

C++上机实验报告实验名称:指针专业班级:姓名:学号:实验日期:目录1.实验目的2.实验内容3.程序代码4.调试结果5.实验心得1.实验目的(1)通过实验进一步掌握指针的概念,会定义和使用指针变量;(2)能正确使用数组的指针和指向数组的指针变量;(3)能正确使用字符串的指针和指向字符串的指针变量;(4)能正确使用引用型变量。

2.实验内容编程序并上机调试运行程序(要求用指针或引用处理)。

(1)输入3个整数,按由小到大的顺序输出。

编译一个程序,用指针变量作为参数。

(2)在上题的基础上将程序改为:输入3个字符串,按由小到大的顺序输出。

(3)用引用指针变量作为形参,实现3个整数由小到大输出。

(4)有n个人围成一圈,顺序排号。

从第1个人开始报数(从1~3报数),凡是到3的人退出圈子,问最后留下的人原来排在第几号。

(5)在主函数中输入10个字符串。

用另一个函数最它们排序。

然后在主函数输出这10个已排好的字符串。

要求用以下方法编程:Ⅰ.指向一维数组的指针座函数参数;Ⅱ.用string数组方法。

3.程序代码(1)#include<iostream>using namespace std;int main(){void swap(int *p1,int *p2);int n1,n2,n3;int *p1,*p2,*p3;cout<<"input three integers n1,n2,n3:";cin>>n1>>n2>>n3;p1=&n1;p2=&n2;p3=&n3;if(n1>n2) swap(p1,p2);if(n1>n3) swap(p1,p3);if(n2>n3) swap(p2,p3);cout<<"Now,the order is:"<<n1<<" "<<n2<<" "<<n3<<endl; return 0;}void swap(int *p1,int *p2){int p;p=*p1;*p1=*p2;*p2=p;}(2)Ⅰ.用字符数组方法的源程序#include<iostream>using namespace std;int main(){void swap(char *,char *);char str1[20],str2[20],str3[30];cout<<"input three line:"<<endl;gets(str1);gets(str2);gets(str3);if(strcmp(str1,str2)>0) swap(str1,str2); if(strcmp(str1,str3)>0) swap(str1,str3); if(strcmp(str2,str3)>0) swap(str2,str3); cout<<endl<<"Now,the order is:"<<endl; cout<<str1<<endl<<str2<<endl<<str3<<endl; return 0;}void swap(char *p1,char *p2){char p[20];strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);}Ⅱ.用string方法的源程序(程序中使用了指针和引用)#include<iostream>#include<string>using namespace std;int main(){void change(string &,string &);string str1=" ",str2=" ",str3=" ";char *p1=&str1[0],*p2=&str2[0],*p3=&str3[0];cout<<"input three line:"<<endl;gets(p1);gets(p2);gets(p3);if(str1>str2) change(str1,str2);if(str1>str3) change(str1,str3);if(str2>str3) change(str2,str3);cout<<endl<<"Now,the order is:"<<endl;cout<<str1<<endl<<str2<<endl<<str3<<endl; return 0;}void change(string &st1,string &st2) {string st;st=st1;st1=st2;st2=st;}(3)#include<iostream>using namespace std;int main(){void exchange(int *,int *,int *);int a,b,c,*p1,*p2,*p3;cin>>a>>b>>c;p1=&a;p2=&b;p3=&c;exchange(p1,p2,p3);cout<<a<<" "<<b<<" "<<c<<endl;return 0;}void exchange(int *q1,int *q2,int *q3){void swap(int *,int *);if( *q1> *q2) swap(q1,q2);if( *q1> *q3) swap(q1,q3);if( *q2> *q3) swap(q2,q3);}void swap(int *pt1,int *pt2){int temp;temp=*pt1;*pt1=*pt2;*pt2=temp;}(4)#include<iostream>using namespace std;int main(){int i,k,m,n,num[50],*p;cout<<"input number of person:n="; cin>>n;p=num;for(i=0;i<n;i++)*(p+i)=i+1;i=0;k=0;m=0;while(m<n-1){if(*(p+i)!=0) k++;if(k==3){*(p+i)=0;k=0;m++;}i++;if(i==n) i=0;}while(*p==0)p++;cout<<"The last one is NO."<<*p<<endl; return 0;}(5)Ⅰ.指向一维数组的指针最函数参数的源程序#include<iostream>using namespace std;int main(){void sort(char (*p)[6]);int i;char str[10][6];char (*p)[6];cout<<"input 10 strings:"<<endl;for(i=0;i<10;i++)cin>>str[i];p=str;sort(p);cout<<"Now,the sequence is:"<<endl; for(i=0;i<10;i++)cout<<str[i]<<endl;return 0;}void sort(char (*s)[6]){int i,j;char temp[6],*t=temp;for(i=0;i<9;i++)for(j=0;j<9-i;j++)if(strcmp(s[j],s[j+1])>0){strcpy(t,s[j]);strcpy(s[j],s[+j+1]);strcpy(s[j+1],t);}}Ⅱ.用string数组方法的源程序#include<iostream>#include<string>using namespace std;int main(){void sort(string*);int i;string str[10],*p=str;cout<<"input 10 strings:"<<endl;for(i=0;i<10;i++)cin>>str[i];sort(p);cout<<"Now,the sequence is:"<<endl; for(i=0;i<10;i++)cout<<str[i]<<endl;return 0;}void sort(string *s){int i,j;string temp;for(i=0;i<9;i++)for(j=0;j<9-i;j++)if(s[j]>s[j+1]){temp=s[j];s[j]=s[+j+1];s[j+1]=temp;}}4.调试结果(1)input three integers n1,n2,n3:54 -12 2 Now,the order is:-12 2 54(2)input three lines:I study very hard.C language is very interesting.He is a professor.Now,the order is:C language is very interesting.He is a professor.I study very hard.(3)12 6 876 12 87(4)input number of person:n=8The last one is No.7(5)input 10 strings: Now,the sequence is:China BurmaJapan ChinaKorea EgyptEgypt GhanaNepal ItalyBurma JapanGhana KoreaSudan LibyaItaly NepalLibya Sudan5.实验心得指针同数组一样,是C++中一个重要的概念,一个重要的知识点。

2011版物理一轮精品复习学案:实验七 测定金属的电阻率(选修3-1)

2011版物理一轮精品复习学案:实验七 测定金属的电阻率(选修3-1)

实验七测定金属的电阻率【考纲知识梳理】一、实验目的学会用伏安法测量电阻的阻值,测定金属的电阻率。

二、实验原理用刻度尺测一段金属导线的长度,用螺旋测微器测导线的直径,用伏安法测导线的电阻,根据电阻定律,金属的电阻率。

1、(1)螺旋测微器(又叫千分尺)是比游标卡尺更精密的测量长度的工具,用它测长度可以准确到0.01mm,测量范围为几个厘米。

(2)螺旋测微器是依据螺旋放大的原理制成的,即螺杆在螺母中旋转一周,螺杆便沿着旋转轴线方向前进或后退一个螺距的距离。

因此,沿轴线方向移动的微小距离,就能用圆周上的读数表示出来。

螺旋测微器的精密螺纹的螺距是0.5mm,可动刻度有50个等分刻度,可动刻度旋转一周,测微螺杆可前进或后退0.5mm,因此旋转每个小分度,相当于测微螺杆前进或后退这0.5/50=0.01mm。

可见,可动刻度每一小分度表示0.01mm,所以以螺旋测微器可准确到0.01mm。

由于还能再估读一位,可读到毫米的千分位,故又名千分尺(3)测量时,当小砧和测微螺杆并拢时,可动刻度的零点若恰好与固定刻度的零点重合,旋出测微螺杆,并使小砧和测微螺杆的面正好接触待测长度的两端,那么测微螺杆向右移动的距离就是所测的长度。

这个距离的整毫米数由固定刻度上读出,小数部分则由可动刻度读出。

(4)使用螺旋测微器应注意以下几点:①测量时,在测微螺杆快靠近被测物体时应停止使用旋钮,而改用微调旋钮,避免产生过大的压力,既可使测量结果精确,又能保护螺旋测微器。

②在读数时,要注意固定刻度尺上表示半毫米的刻线是否已经露出。

③读数时,千分位有一位估读数字,不能随便扔掉,即使固定刻度的零点正好与可动刻度的某一刻度线对齐,千分位上也应读取为“0”。

④当小砧和测微螺杆并拢时,可动刻度的零点与固定刻度的零点不相重合,将出现零误差,应加以修正,即在最后测长度的读数上去掉零误差的数值。

2、伏安法测电阻电路:如果是理想情况,即R A→0,R v→∞时,两电路测量的数值应该是相同的。

C语言程序设计实验实验指导书及答案

C语言程序设计实验实验指导书及答案

常熟理工学院电气与自动化工程学院《C语言程序设计》实验指导书实验一熟悉C程序运行环境班级学号姓名成绩一、实验目的1. 熟悉C语言Visual C++6.0调试环境。

2. 掌握C程序的编辑、调试及运行。

二、实验内容项目1. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int main(){printf(“Good morning!\n”);printf(“Hello,world!\n”);return 0;}运行结果(注意,按照屏幕输出格式写):项目2. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int main(){int a , b , sum; /*定义变量*/a=23; b=56; /*为变量赋值*/sum=a+b; /*计算两个变量的和*/printf(“sum is %d\n”,sum); /*输出计算结果*/return 0;}运行结果:2项目3. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int max(int,int);int main(){int a , b , c; /*定义变量*/a=23; b=56; /*为变量赋值*/c=max(a,b); /*调用max函数,将得到的值赋给c*/ printf(“max is %d\n”,c); /*输出c的值*/return 0;}int max(int x,int y) /*定义max函数,函数值为整型*/ {int z; /*定义变量*/if(x>y)z=x;elsez=y;return(z); /*将z的值返回*/}运行结果:三、提高部分1.试想,如果求10个数中的最大者,则程序该如何编写。

程序代码运行结果:实验二数据及其运算班级学号姓名成绩一、实验目的1. 掌握C数据类型的概念、熟悉整型、字符型和实型基本类型的常量的用法;学会三种基本类型变量的定义、赋值和使用方法。

物理实验报告7_惠斯登电桥测电阻

物理实验报告7_惠斯登电桥测电阻

实验仪器:QJ —23直流电阻电桥、滑线变阻器、指针式检流计、电阻箱、待测电阻等。

实验原理和方法:QJ —23直流电阻电桥使用方法:本次实验的电压选择3V 即可。

接通电源后,指零仪转换开关拨向“内接”,旋转调零旋钮,将检流计指针调零。

使用时,将待测电阻接在电桥的“x R ”处,根据待测电阻的近似数值调节好量程倍率和四个电阻箱。

然后将“灵敏度”旋钮按逆时针方向旋转到最小,再按下“B ”键(电源开关)以及“G ”键(检流计开关),此时指针可能不动;适当调高“灵敏度”,让指针偏转,调节电阻箱,使指针回零;再调高“灵敏度”,……最后在最大灵敏度下,使指针回零,则待测电阻为x R 量程倍率K ⨯ 总电阻读数0R ,测量完每一个电阻后,必须放开“B ”键,同时将“灵敏度”调节至最小,再换测其他电阻。

惠斯登电桥原理:如图,当检流计G 指零时,存在关系式:1 R I R I U U ad x ab ad ab ==,即; 20 R I R I U U dc bc dc bc ==,即;dc ad bc ab I I I I == ,,由此可得:0021KR R R R ==x R ; 其中21R R K =是比例臂的倍率。

电桥测电阻实际上是将待测电阻与标准电阻比较。

标准电阻的精度可以造得很高,可达5位以上的有效数字,只要检流计足够灵敏,待测电阻可达到与标准电阻相同的精度。

使用QJ —23型惠斯登电桥测电阻并测定电桥灵敏度:假设某一待测电阻x R 在电桥倍率为K 、电阻为0R 下取得平衡,当电桥电阻改变0R ∆时,假设电桥的检流计指针改变n ∆格,则电桥灵敏度定义为00/R n R S ∆∆=;灵敏度S 反应了电桥对电阻相对变化量的分辨能力,是衡量电桥精度的重要参数。

将前面测过的3个电阻用QJ —23型直流电阻电桥重新测量;在测量每一个电阻时,要求同时测量相应的灵敏度。

测量灵敏度时,要求n ∆有尽可能大的数值,并应估读一位,可以减少测量误差;若第一次的n ∆是在00'0R R R ∆+=下取得的,则第二次的n ∆应在00'0R R R ∆-=下取得,这样两次得到的n ∆应很接近,容易判断数据的合理性。

C语言实验报告

C语言实验报告

C语言实验报告实验一:c语言环境的开发与使用1.实验目的:上机编写简单的c语言程序,逐步了解c语言运行的程序步骤2.实验内容:在turboc3.0的环境下调试简单的c语言3.实验清单:输入一行字符(如“hello!”)Ex513_11.c#include<stdio.h>Int main(){printf(“hello!\n”);return 0;}从键盘输入两个整数,将其平方和输出(用函数关系求平方和)Ex513_12.c#include<stdio.h>#include<math.h>int main(){int a,b,c;printf(“\n input a=”);scanf(“%d”,&a);printf(“\n input b=”);scanf(“%d”,&b);c=sqre(a,b);printf(“sqre=%d”,c);return 0;}int sqre(x,y)int x,y;{return x*x+y*y;}从键盘输入三个整数,将其最大值输出。

(用函数求最大值)Ex513_13.c#include<stdio.h>int main(){int a,b,c,d;printf(“\n input a=”);scanf(“%d”,&b);printf(“\n input c=”);scanf(“%d”,&c);d=max(a,b,c);printf(“max=%d”,d);return 0;}int max(x,y,z);int x,y,z,t;{if(x>y) t=x;else t=y;if(z>t) t=z;return t;}输入三角形三边的长度,将其面积输出(用函数求面积) Ex513_14.c#include<stdio.h>#include<math.h>Int main(){double a,b,c,s,area;a=3.67;b=5.43;c=6.21;s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“a=%f\tb=%f\t%f\n”,a,b,c);printf(“area=%f\n”,area)return 0;}4运行结果及分析程序:Ex513_11.c结果:输出hello!分析:掌握输出一行字符的写法程序:Ex513_12.c结果:输入1,2输出5分析:编写正确,但不够简洁程序:Ex513_13.c结果:输入-3,1,2输出2分析:程序运用了函数程序:Ex513_14.c结果:输入3,4,5输出6分析:编写不够简洁实验二:顺序结构设计1.实验目的:了解什么是常量和变量及种类掌握整型,实型,字符型变量的定义和使用及输出规律掌握七个运算符的运算法则及其混合运算规律2.实验内容:假如我国国民生产总值的年增长率为百分之九,计算十年后我国国民生产总值与现在相比增长多少?Ex513_21.c#include<stdio.h>#include<math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}用编好的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’Ex513_22.c#include<stdio.h>int main(){int a,b;float x,y;char c1,c2;scanf("a=%d b=%d",&a,&b);scanf("%f%e",&x,&y);scanf("%c%c",&c1,&c2);printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);return 0;}设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。

实验七 动态链接库的制作与调用1

实验七 动态链接库的制作与调用1

南昌航空大学实验报告年月日课程名称:面向对象程序设计实验名称:动态链接库的制作与调用班级: 100462 学生姓名:陈冬杨学号: 10046213 指导教师评定:签名:一用所学的内容编写一个动态链接库的文件1、实验目的(1)了解和掌握类和指向函数的指针的使用。

(2)了解和掌握宏的使用,(3)掌握动态链接库文件创建的过程。

2、实验要求熟练掌握动态链接库文件的创建3、实验步骤与内容题目:创建一个动态链接库,实现画一棵树。

1).启动Visual C++6.0或者C++ Builder 5.0.在WINDOWS98或WINDOWS 2000环境下,找到Visual C++6.0或者C++ Builder 5.0图标,双击之。

为了不使Visual C++6.0或者C++ Builder 5.0的默认搜索路径与WINDOWS其他软件相冲突,清修改Visual C++6.0或者C++ Builder 5.0图标的属性。

在属性|程序|批处理一栏中填上你自己的批处理程序名。

以便启动时,首先运行你的批处理程序。

然后在该批处理程序中,写上path=...路径。

2).设置用户程序子目录设置用户程序子目录的目的是,将所有编程时产生的中间文件和最终执行程序文件全部放在自己的目录中,以便管理。

3).创建和输入程序Visual C++6.0启动后,要先建立一个project工程文件。

方法为:·选择File|new 菜单项,将弹出New 对话框。

·单击Projects 选项卡·在Location中填用户子目录路径·在Project name中填入工程名(如MyDll)·在列表中选择MFC AppWizard(dll),表示你编制的应用程序将生成动态链接库文件(.dll)·按照提示创建一个自己想要的工程定位到mydll.h文件处,添加动态链接库的函数原型声明,下面为mydll.h的内容:…..int DrawTree(CPaintDC *dc,int xStart,int yStart,double length,double angle,int num);class CMyDllApp : public CWinApp{……..};✧定位到mydll.cpp 文件处,添加动态链接库中的函数的实现部分,下面为mydll.cpp的内容:……..// The one and only CMyDllApp objectCMyDllApp theApp;int DrawTree(CPaintDC *dc,int xStart,int yStart,double length,double angle,int num){int xEnd,yEnd;if (num==0) return 1;xEnd=xStart+(int)(length*cos(angle));yEnd=yStart+(int)(length*sin(angle));dc->MoveTo(xStart,yStart);dc->LineTo(xEnd,yEnd);DrawTree(dc,xEnd,yEnd,length*0.6,angle+0.624,num-1);DrawTree(dc,xEnd,yEnd,length*0.85,angle+0.08,num-1);DrawTree(dc,xEnd,yEnd,length*0.65,angle-0.6,num-1);return 1;}✧在mydll.def中引出DrawTree函数,下面为mydll.def的内容。

C语言实验七函数实验报告

C语言实验七函数实验报告

C语言实验七函数实验报告一、实验目的本次 C 语言实验七函数实验的目的在于深入理解和掌握 C 语言中函数的定义、声明、调用以及参数传递等重要概念和操作。

通过实际编写和调试函数相关的程序,提高编程能力和问题解决能力,培养良好的编程习惯和代码结构组织能力。

二、实验环境本次实验使用的编程环境为 Visual Studio 2019 集成开发环境,操作系统为 Windows 10 专业版。

三、实验内容与步骤(一)函数的定义和声明首先,学习了函数的定义格式和声明方法。

函数的定义包括函数头和函数体两部分,函数头指定了函数的返回值类型、函数名和参数列表,函数体则包含了函数的具体实现逻辑。

例如,定义一个计算两个整数之和的函数:```cint add(int a, int b) {return a + b;}```在使用函数之前,需要在程序的适当位置进行函数声明,以告知编译器函数的存在及其参数和返回值类型。

```cint add(int, int);```(二)函数的调用掌握了函数的调用方法,通过传递实际参数来执行函数,并获取返回值。

```cint num1 = 5, num2 = 10;int result = add(num1, num2);printf("两数之和为:%d\n", result);```(三)参数传递学习了值传递和地址传递两种参数传递方式。

值传递是将实参的值复制给形参,在函数内部对形参的修改不会影响实参的值;地址传递则是将实参的地址传递给形参,通过指针在函数内部可以修改实参的值。

```cvoid swap(int a, int b) {int temp = a;a = b;b = temp;}int num3 = 20, num4 = 30;printf("交换前:num3 =%d, num4 =%d\n", num3, num4);swap(&num3, &num4);printf("交换后:num3 =%d, num4 =%d\n", num3, num4);```(四)函数的嵌套调用和递归调用了解了函数的嵌套调用和递归调用的概念和应用。

C语言程序设计实验教案

C语言程序设计实验教案

C语言程序设计实验教案一、实验目的1. 掌握C语言的基本语法和编程技巧。

2. 培养学生的逻辑思维能力和问题解决能力。

3. 熟悉开发环境,学会调试和运行C程序。

二、实验内容1. C语言基本数据类型和运算符。

2. 顺序结构程序设计。

3. 分支结构程序设计。

4. 循环结构程序设计。

5. 函数的定义和调用。

三、实验要求1. 每个实验项目都需要编写相应的C程序。

2. 每个程序都需要包含注释,说明程序的功能和关键代码。

3. 每个程序都需要经过调试,确保程序的正确性。

4. 提交实验报告,包括程序代码、运行结果和实验心得。

四、实验步骤1. 打开开发环境,新建C语言文件。

2. 根据实验内容,编写相应的C程序。

3. 进行代码调试,找出并修正错误。

4. 运行程序,观察并分析运行结果。

五、实验时长1. 实验一:C语言基本数据类型和运算符(1学时)2. 实验二:顺序结构程序设计(1学时)3. 实验三:分支结构程序设计(1学时)4. 实验四:循环结构程序设计(1学时)5. 实验五:函数的定义和调用(1学时)六、实验六:数组和字符串操作1. 目的:掌握一维和多维数组的声明、初始化和使用。

学习字符串的基本操作和处理。

2. 内容:数组的声明和访问。

二维数组的操作。

字符串的复制、连接和长度计算。

3. 要求:编写程序实现数组的排序(例如冒泡排序)。

编写程序实现字符串的逆序。

4. 步骤:设计数组排序的算法,并编写相应程序。

设计字符串逆序的算法,并编写相应程序。

调试程序,确保功能正确。

5. 时长:1学时七、实验七:指针理解指针的概念和作用。

掌握指针的基本操作,如赋值、解引用和指针算术。

2. 内容:指针的声明和初始化。

指针与数组。

指针与函数。

3. 要求:编写程序利用指针操作数组元素。

编写程序实现指针作为函数参数传递。

4. 步骤:编写程序演示指针与数组的操作。

编写程序演示指针作为函数参数的使用。

调试程序,确保指针的使用正确无误。

5. 时长:1学时八、实验八:结构体和文件操作1. 目的:学习结构体的定义和使用。

C语言实验六实验报告—指针

C语言实验六实验报告—指针

C语言实验六实验报告—指针实验六:指针实验报告一、实验目的1.了解指针的概念和作用;2.掌握指针与数组、函数的关系;3.熟悉指针的运算和指针的应用。

二、实验内容1.指针的定义和初始化;2.指针与数组的关系;3.指针与函数的关系。

三、实验原理1.指针的定义和初始化指针是一个变量,其值为另一个变量的地址。

可以使用指针来访问和修改内存中的数据。

指针的定义格式为:数据类型*指针名;可以使用&运算符来获取变量的地址,并将其赋值给指针。

2.指针与数组的关系数组是一组相同类型的数据的集合,而指针可以指向数组的首地址。

通过指针可以访问数组中的元素。

数组名本身就是一个指针常量,存储了数组的首地址。

定义指针指向数组时,可以使用数组名作为初始化值。

3.指针与函数的关系函数可以接受指针作为参数,通过指针可以修改传递给函数的变量的值。

函数也可以返回指针,指向在函数内部创建的局部变量。

需要注意的是,在使用指向局部变量的指针时要小心,因为函数执行完毕后,局部变量会被释放,指针将指向无效的内存地址。

四、实验步骤1.指针的定义和初始化定义一个整型变量a,并使用指针p指向a的地址。

使用*p来访问a 的值,使用&运算符获取a的地址并给指针p赋值。

2.指针与数组的关系定义一个整型数组arr,并使用指针p指向数组的首地址。

使用p[i]来访问数组的元素,使用*(p+i)也可以实现相同的效果。

3.指针与函数的关系定义一个函数,接受一个指针作为参数,并使用指针修改传递给函数的变量的值。

定义一个函数,返回一个指针,指向在函数内部创建的局部变量。

在主函数中调用这两个函数,并打印出相应的结果。

五、实验结果1.指针的定义和初始化定义一个整型变量a,并初始化为10。

指针p指向a的地址,使用*p 来访问a的值。

2.指针与数组的关系定义一个整型数组arr,并初始化为{1, 2, 3, 4, 5}。

指针p指向数组的首地址,使用p[i]来访问数组的元素。

C语言实验报告(全)

C语言实验报告(全)

《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
实验报告填写说明
1.实验报告中的班级写行政班级(如道土1班),学号写完整学号(如20176000101),实
验日期不要漏写,任课教师写全名。

2.设计流程(算法描述)的书写用传统流程图、N-S流程图或伪代码中的任一种方式写出算法。

3.调试和测试结果应有内容,至少是“调试结果正确”,如果遇到错误,则写出错误信息,
及调试解决方法。

要求写出测试用的数据和测试结果,应对所有路径都进行测试。

东莞理工c语言实验七报告(指针)

东莞理工c语言实验七报告(指针)

实验七:指针专业:班级:学号:姓名:完成时间:成绩:一、实验目的二、实验内容第二题:1)题目要求程序功能:输入一个正整数n(1≤n≤10),然后输入n个整数存入数组a中,再输入一个整数x,查找并统计数组a中包含x的元素个数。

要求定义函数count(int *p,int n,int x),查找并统计指针p指向的数组中包含x的元素个数。

其中:n为指针p所指向数组的元素个数。

在main函数中调用count函数实现程序功能。

2)算法(流程图)3)源程序(截图)4)编译结果(截图东莞理工学院《程序设计基础》实验报告5)运行结果(截图))运行结果(截图)第三题:第三题:1)题目要求)题目要求 程序功能:输入一个整数n (1≤n≤10),然后输入n 个整数存入数组a 中,要求定义一个函数void sort (int *p ,int n ),用选择法对指针p 所指向的数组进行升序排列,所指向的数组进行升序排列,其中:其中:n 为p 所指向数组的元素个数。

所指向数组的元素个数。

在在main 函数中调用sort 函数实现排序,最后输出排序后的结果。

函数实现排序,最后输出排序后的结果。

2)算法(流程图))算法(流程图) 3)源程序(截图))源程序(截图)4)编译结果(截图))编译结果(截图))运行结果(截图)5)运行结果(截图)第六题:第六题:)题目要求 程序功能:连续输入5个以空格分隔的字符串(字符串的长度1)题目要求,不超过80),输出其中最大的字符串。

例如:输入:li wang zhang jin xiao输出:zhang。

2)算法(流程图))算法(流程图))源程序(截图)3)源程序(截图))编译结果(截图)4)编译结果(截图))运行结果(截图)5)运行结果(截图)第八题:第八题:)题目要求 程序功能:编写一个函数delchar(s,c),该函数将字符串s中出现1)题目要求的所有c字符删除。

在主函数中输入一个字符c和一个字符串s,调用delchar(s,c)函数删除字符串s中所有c字符,然后输出删除后的字符串。

高考物理:实验必备的测量工具

高考物理:实验必备的测量工具

高考物理:实验必备的测量工具一、刻度尺1.用途:测量物体的长度。

2.使用前做到“三看”:看零刻度线是否磨损;看清量程、看清分度值。

3.刻度尺的使用时要做到“六会”。

即:会选:根据被测物体的长度选择合适的刻度尺;会放:应使刻度尺的零刻度线或某条(整数)刻度线与被测物体的一条边对齐,把刻度尺的一边尽可能与被测物体重叠或平行,不能歪斜;会看:读数时,视线应与刻度垂直;会读:除读出最小刻度以上各位数字外,还应估读到分度值下一位;会记:记录的测量数据,包括准确值、估读值和单位(没有单位的数值是毫无意义的)。

会算:多次测量求平均值可减小误差,最终结果要和记录数据保持一致。

二、机械停表1.用途:测量时间。

2.构造:如图A是启动、停止按钮;B是回零按钮;C是分钟刻度:读取整分钟数(包括半分钟);D是秒钟刻度(读取秒数)3.使用方法:使用停表前首先要上好发条,按压启动按钮,表启动,再次按下该按钮,秒表指针停止转动,按压回零按钮,分针与秒针都归零。

4.读数方法:首先读出小刻度盘中的整分钟数(包括半分钟),然后读出大刻度盘的秒刻度数,将两个读数统一单位后先后相加即得最后读数。

三、温度计1.用途:测量温度。

2.在使用温度计之前,应首先观察它的量程是否符合实际要求,否则需更换一支量程合适的温度计;其次要认清它的最小刻度值,以便于读数。

3.用温度计测液体温度的正确方法是:(l)温度计的玻璃泡全部浸入被测的液体中,不要碰到容器底或容器壁。

(2)温度计玻璃泡浸入被测液体后要稍候一会儿,待温度计的示数稳定后再读数。

(3)读数时玻璃泡要继续留在被测液体中,视线与温度计中液体的上表面相平。

1.用途:测量物体质量。

2.托盘天平的构造:如下图,(1)底座(2)标尺(3)平衡螺母(4)横梁(5)托盘(6)横梁刀口(7)指针(8)分度盘(9)游码。

另外,天平还有配套的砝码盒。

3.使用方法及注意事项(1)天平要放置在水平的桌面上。

游码要归零。

指针万用表的使用_模拟电子技术实验教程_[共3页]

指针万用表的使用_模拟电子技术实验教程_[共3页]

模拟电子技术实验教程30不必考虑正、负极性。

④当误用交流电压挡去测量直流电压,或者误用直流电压挡去测量交流电压时,显示屏将显示“000”,或低位上的数字出现跳动。

⑤禁止在测量高电压(220V以上)或大电流(0.5A以上)时换量程,以防止产生电弧,烧毁开关触点。

⑥当万用表的电池电量即将耗尽时,液晶显示器左上角有电池电量低提示,会有电池符号显示,此时电量不足,若仍进行测量,测量值会比实际值偏高。

2.3.2 指针万用表的使用指针万用表的种类繁多,本章以最典型的MF-500型指针万用表为例来讲解其使用方法。

其面板由指针表头面板、零位调节旋钮、量程和功能调节旋钮、电阻调节旋钮和各种插孔(2500V 高压插孔、电流插孔、正极插孔、负极插孔)组成,如图2-14所示。

图2-14 MF-500型指针万用表外形1.指针万用表工作原理(1)指针万用表内部电池介绍。

指针表内一般有两块电池,一块低电压的1.5V,另一块是高电压的9V或15V,其黑表笔相对红表笔来说是正端。

数字表则常用一块6V或9V的电池,其红表笔为正端。

在电阻挡,指针表的表笔输出电流相对数字表来说要大很多,用R×1Ω挡可以使扬声器发出响亮的“哒”声,用R×10kΩ挡甚至可以点亮发光二极管(LED)。

(2)指针万用表工作原理。

指针万用表的基本工作原理是利用一只灵敏的磁电式直流电流表(微安表)做表头,当微小电流通过表头时就会有电流指示,但表头不能通过大电流,所以,必须在表头上并联与串联一些电阻进行分流或降压,从而测出电路中的电流、电压和电阻。

指针万用表的测量原理如图2-15所示。

测直流电流原理:在表头上并联一个适当的电阻(叫分流电阻)进行分流,就可以扩展电流量程。

改变分流电阻的阻值,就能改变电流测量范围。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验七指针的使用
一、实验目的
●了解并掌握指针变量的定义和使用方法
●了解并掌握指针型数据作为函数的参数及返回值的方法
●了解并掌握通过指针引用字符串的方法
二、实验环境
●个人计算机一台,PIII500(或同等性能)以上CPU,128MB以上内存,500MB以
上硬盘剩余空间。

●Windows2000、Windows XP或Win 7操作系统
●Code::Blocks(版本12.11或近似版本,英文版)
三、实验内容
1. 两数交换
编写swap函数,功能是交换两个整数,但这两个整数要在main()中定义。

可以根据需要定义新的变量。

例如,
输入:3 5
输出:5 3
/*example-26.c*/
#include "stdio.h"
void swap( int *a,int *b )
{int t ;
t=*a ;
*a=*b ;
b*=*a ;
}
main()
{
int a, b;
printf("Input two numbers: ");
scanf("%d%d", &a, &b);
printf("Before swap: a=%d, b=%d\n", a, b);
swap(&a,&b);
printf("After swap: a=%d, b=%d\n", a, b);
}
2. 求一维数组元素的最大值
编写max函数,功能是求一维数组元素的最大值,并将其地址返回,但这个一维数组要在main()中定义。

可以根据需要定义新的变量。

/*example-27.c*/
#include "stdio.h"
#define N 10
int maxFun( char a[N] )
{
int *p, i;
int j,t;
for(i=0;i<N-1;i++)
for(j=i+1;j<N;j++)
if(a[i]<a[j])
{t=a[i];a[i]=a[j];a[j]=t;}
p=&a[j];
return p;
}
int main()
{
int a[N] = {1, 3, 7, 9, 11, 6, 8, 12, 35, 20};
int *q;
q=&maxFUN(char a[N]);
printf("The max element is: %d\n", *q);
return 0;
}
3. 大小写转换
将main()中定义的字符串进行大小写转换:将字符串中的大写字母转换成小写字母,小写字母转换成大写字母,其它字符保持不变。

可以根据需要定义新的变量。

以下列代码中的字符串为例子,应输出:
Before change: adT%pKf0u8i+Yd-z
After change: ADt%PkF0U8I+yD-Z
/*example-28.c*/
#include "stdio.h"
int main()
{
char str[] = "adT%pKf0u8i+Yd-z";
printf("Before change: %s\n", str);
printf("After change: %s\n", str);
return 0;
}
四、总结与思考
指针是C语言当中最抽象的部分,同时也是C语言的精华所在。

虽然关于指针的安全性还存在着争议,但毫无疑问指针大大地增强了C语言的灵活性。

对于指针,一定要细究其细节,否则可能会产生一些意想不到的错误。

字符串是文本处理问题当中经常要用到的,对于字符串的问题一定要把握好字符数据的本质以及字符串的结束标记。

在完成以上实验的基础上,有兴趣的同学可以在课后思考以下问题:
思考题1:英文单词单数变复数
课本习题P234 9
该题中的变换规则并不是实际规则,无需介意,按该题的要求即可。

可以根据需要定义新的变量。

/*think-5.c*/
#include "stdio.h"
int main()
{
char word[20];
char *p;
printf("Input a word: ");
scanf("%s", word);
printf("Plural form: %s\n", word);
return 0;
}
【解题提示】
不知道用户输入的单词会是什么、长度会是多少,但可以确定的是,结尾一定是‘\0’。

可以根据这个线索,让一个指针(例如p)先移动到‘\0’,然后回退一位(p--),就是单词的结尾字母,可以分为四种情况处理:
(1)结尾字母是y,则y改为i,并在后面加es
(2)结尾字母是s、x、o,则在后面加es
(3)结尾字母是h,且前一个字母是c和s(即以ch、sh结尾),则在后面加es
(4)其它情况在后面加s
可以用if-else语句的嵌套分别处理这四种情况。

需要注意的是,处理完成后,一定要在最后加上‘\0’。

例如:
输入:difficulty 输出:difficulties
输入:hero 输出:heroes
输入:boss 输出:bosses
输入:box 输出:boxes
输入:watch 输出:watches
输入:dish 输出:dishes
输入:plant 输出:plantss
思考题2:字符串移动
在以下程序的横线中填上适当的语句或表达式,并上机运行。

在main函数中从键盘上输入一个字符串str以及一个整数n,将它们作为参数传递给函数fun。

fun函数的功能是将字符串str的第0~m-1个字符移到字符串的最后,第m个字符到最后一个字符移动字符串的头部。

例如,
输入:abcdefgh
3
输出:defghabc
/*think-6.c*/
#include <stdio.h>
void fun(char *w, int n)
{
int i, j;
/*str数组用来存放移动后的字符串*/
char str[100];
/*指向首字符*/
i=0;
j=0;
/*指向第n个字符*/
while(i <= n-1) i++;
/*首先把第n个字符一直到最后一个字符放到str数组的头部*/
while( )
{
/*向后移动一个字符*/
}
/*把第0个字符到第n-1个字符放到str数组的尾部*/
for(i=0; i<= n-1; i++)
{
/*向后移动一个字符*/
j++;
}
/*放上字符串结束标志*/
i=0;
/*str数组中是移动后的字符串,把它复制到w数组中去*/ while( )
{
/*向后移动一个字符*/
}
}
main()
{
char s[100];
int m;
printf("Input string: ");
scanf("%s", s);
printf("Input m: ");
scanf("%d", &m);
fun(s, m);
printf("After move: %s\n", s);
}。

相关文档
最新文档