实验十二 指针的应用

1.

 1 #include<stdio.h>
 2
 3 static int x,y,c,d;
 4
 5 void change(int *a,int *b);
 6 void change1();
 7
 8 int main()
 9 {
10     int a,b;
11
12     scanf("%d%d",&a,&b);
13
14     change(&a,&b);
15     printf("%d %d\n",a,b);
16
17     scanf("%d%d",&x,&y);
18
19     change1(x,y);
20     printf("%d %d\n",x,y);
21
22     return 0;
23 }
24
25 void change(int *a,int *b)
26 {
27     int t;
28
29     t=*a;
30     *a=*b;
31     *b=t;
32 }
33
34
35 void change1()
36 {
37     int t;
38
39     t=x;
40     x=y;
41     y=t;
42 }         

2.

 1 #include<stdio.h>
 2
 3 void Delete(char s[]);
 4
 5 int main()
 6 {
 7     char s[]="abs16cac45ecXACWE";
 8
 9     Delete(s);
10
11     printf("%s\n",&s);
12
13     return 0;
14 }
15
16 void Delete(char s[])
17 {
18     int i,j;
19     for(i=0;s[i]!=‘\0‘;i++)
20     {
21         if(s[i]>=48&&s[i]<=57)
22         {
23             for(j=i+1;s[j-1]!=‘\0‘;j++)
24                 s[j-1]=s[j];
25
26             i--;
27         }
28     }
29 }

3.

 1 #include<stdio.h>
 2
 3 int cnum1(char *p, char c);
 4 void cnum2(char *p, char c, int *n);
 5
 6 int main()
 7 {
 8     char s[]="acfwef1646BICSxaA",c=‘a‘;
 9     int sum,n=0;
10
11     sum=cnum1(s,c);
12     cnum2(s,c,&n);
13
14     printf("sum=%d,n=%d\n",sum,n);
15
16     return 0;
17 }
18
19 int cnum1(char *p, char c)
20 {
21     int i,sum=0;
22
23     for(i=0;p[i]!=‘\0‘;i++)
24     {
25         if(p[i]==c)
26             sum++;
27     }
28
29     return sum;
30 }
31
32 void cnum2(char *p, char c, int *n)
33 {
34     int i;
35
36     for(i=0;p[i]!=‘\0‘;i++)
37     {
38         if(p[i]==c)
39             (*n)++;
40     }
41 }

4.

 1 #include<stdio.h>
 2
 3 void swap(int a[],int N);
 4
 5 int main()
 6 {
 7     int i,N,a[20];
 8     scanf("%d",&N);
 9
10     for(i=0;i<N;i++)
11         scanf("%d",&a[i]);
12
13     swap(a,N);
14
15     for(i=0;i<N;i++)
16         printf("%d ",a[i]);
17
18     return 0;
19 }
20
21 void swap(int a[],int N)
22 {
23     int i,t;
24
25     for(i=0;i<N/2;i++)
26     {
27         t=a[i];
28         a[i]=a[N/2+1+i];
29         a[N/2+1+i]=t;
30     }
31 }

5.

6.

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3
 4 #define N 15
 5
 6 void px(int a[]);
 7 void sc(int a[],int m);
 8 void sr(int a[]);
 9 int js(int a[],int judge);//judge为1返回最大值,否则返回最小值
10
11 int main()
12 {
13     int a[N],m=5;
14
15     sr(a);
16     sc(a,m);
17     printf("\n");
18     px(a);
19     sc(a,m);
20
21     printf("\nmax=%d,min=%d\n",js(a,1),js(a,0));
22
23     return 0;
24 }
25
26 //输入随机数
27 void sr(int a[])
28 {
29     int i;
30
31     //赋值1-100随机数
32     for(i=0;i<N;++i)
33         a[i]=rand()%100+1;
34
35 }
36
37 //输出
38 void sc(int a[],int m)
39 {
40     int i;
41
42     for(i=0;i<N;++i)
43     {
44         printf("%3d ",a[i]);
45
46         if((i+1)%m==0)
47             printf("\n");
48     }
49
50 }
51
52 //排序
53 void px(int a[])
54 {
55     int i,j,temp;
56
57     for(i=0;i<N-1;++i)
58     for(j=0;j<N-i-1;++j)
59     {
60         if(a[j]>a[j+1])
61         {
62             temp=a[j];
63             a[j]=a[j+1];
64             a[j+1]=temp;
65         }
66     }
67 }
68
69 //求最值
70 int js(int a[],int judge)
71 {
72     int i,max=a[0],min=a[0];
73
74     for(i=0;i<N;i++)
75     {
76         if(a[i]>max)
77             max=a[i];
78
79         if(a[i]<min)
80             min=a[i];
81     }
82
83     if(judge==1)
84         return max;
85     else
86         return min;
87 } 
时间: 2024-10-22 15:46:21

实验十二 指针的应用的相关文章

c++实验十二 数组(二维)

先通过一个二维数组保存学生相关的信息 为了更直观的观看,决定用字符串数组来保存数据 当然在计算的时候要转变格式, // 实验十二 数组(二维).cpp: 定义控制台应用程序的入口点. #include "stdafx.h" #include<iostream> using namespace std; #include<string> int main() { string a[4][5] = { {"生","号",&qu

Linux基础入门(新版)(实验九-实验十二)

实验九 简单文本入门 一.常用的文本处理命令 二.文本处理命令 1.tr 命令 tr 命令可以用来删除一段文本信息中的某些文字.或者将其进行转换. 使用方式: tr [option]...SET1 [SET2]   常用的选项有: 选项 说明 -d 删除和set1匹配的字符,注意不是全词匹配也不是按字符顺序匹配 -s 去除set1指定的在输入文本中连续并重复的字符 操作举例: # 删除 "hello shiyanlou" 中所有的'o','l','h' $ echo 'hello sh

【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十二:串口模块① — 发送

实验十二:串口模块① — 发送 串口固然是典型的实验,想必许多同学已经作烂,不过笔者还要循例介绍一下.我们知道串口有发送与接收之分,实验十二的实验目的就是实现串口发送,然而不同的是 ... 笔者会用另一种思路去实现串口发送. 图12.1 PS/2发送时序与串口发送时序. 如图12.1所示,串口发送时序相较PS/2发送时序,串口发送时序就像断了翅膀的小鸟般,没有时钟信号控制整个传输协议.除此之外,串口发送时序与PS/2发送时序近似的地方也非常惊人 ... 默认下,一帧PS/2数据有11位,对此一帧

实验十二

实验十二  图形程序设计 实验时间 2018-11-14 第一部分:理论知识 1.AWT与Swing简介 (1)Swing用户界面库是非基于对等体的GUI工具箱. ? Swing具有更丰富并且更方便的用户界面元素集合. ? Swing对底层平台的依赖很少,因此与平台相关的bug很少. ? Swing会带来交叉平台上的统一视觉体验. ? Swing类库被放在javax.swing包里. (2)两者之间的关系: 大部分AWT组件都有其Swing的等价组件. Swing组件的名字一般是在AWT组件名前

实验十:指针(1)

一.实验内容 1.计算两数的和与差.要求自定义一个函数 void sum_diff( float op1, float op2, float *psum, float *pdiff ): 其中op1和op2是输入的两个实数,*psum和*pdiff是计算得出的和与差. 编写主函数,并在其中调用函数sum_diff(),试编写相应程序. 2.利用指针找最大值:要求自定义一个函数 void findmax( int *px, int *py, int *pmax ); 其中px和px是用户传入的两个

实验四至实验十二

四.Linux 目录结构及文件基本操作 1.Linux 的文件组织目录结构. Linux 是以树形目录结构的形式来构建整个系统的 Linux 的磁盘是“挂在”(挂载在)目录上的 每一个目录不仅能使用本地磁盘分区的文件系统,也可以使用网络上的文件系统. FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准) 2.相对路径和绝对路径. 知识点: 进入上一级目录:$ cd .. 进入你的“home”目录:$ cd ~       # 或者 cd /hom

实验十二:面向对象基础 5、构造方法、重载

1.类执行顺序验证( 成员 类变量 初始化 静态 构造方法 ) 2.模拟ATM取款机 密码校验 存款取款查询转账( 对象:卡( (卡号string.密码string.余额double) (查询.取款bool.)) 数组 ) 3.计算矩阵周长面积 实训课结束后,由学委收集实验报告(文件命名:学号_实验编号),收集完后发到邮箱[email protected] 下节实训课交齐 报告模板下载:https://pan.baidu.com/s/1Vzrq7y4CtkwykcTmymJuxQ 原文地址:ht

实验十二:SWING界面设计

一.源代码 package ziwojieshao;import java.awt.FlowLayout;import javax.swing.*;import java.awt.Container;import java.awt.event.ActionEvent;import java.awt.event.ActionListener; public class AA extends JFrame{ public AA() { JFrame jf1=new JFrame ("Hellow&q

汇编语言(王爽 第三版)实验十二

assume cs:code code segment start: mov ax,cs mov ds,ax mov si,offset do0 mov ax,0 mov es,ax mov di,200h mov cx,offset do0end-offset do0 cld rep movsb mov ax,0 mov es,ax mov word ptr es:[0*4],200h mov word ptr es:[0*4+2],0 mov ax,4c00h int 21h do0: jm