10.1

  • 题目描述
    输入a和b两个整数,按先大后小的顺序输出a和b。注意请使用指针变量的方式进行比较和输出。

  • 输入
    两个用空格隔开的整数a和b。

  • 输出
    按先大后小的顺序输出a和b,用空格隔开。
    请注意行尾输出换行。

  • 样例输入
    5 9

  • 样例输出
    9 5
#include <stdio.h>void cmp(int* a, int* b)
{if (*a < *b)printf("%d %d",*b, *a);elseprintf("%d %d",*a, *b);
}int main()
{int a,b;int *p1 = &a;int *p2 = &b;scanf("%d %d",p1, p2);cmp(p1, p2);return 0;}

10.2

  • 题目描述
    输入a、b、c三个整数,按先大后小的顺序输出a、b和c。注意请使用指针变量的方式进行比较和输出。

  • 输入
    三个用空格隔开的整数a、b和c。

  • 输出
    按先大后小的顺序输出a、b和c,用空格隔开。
    请注意行尾输出换行。

  • 样例输入
    9 0 10

  • 样例输出
    10 9 0

    引用是对p1,p2,p3的修改,并不改变a,b,c的地址;修改函数传入的实参变量(引用);

#include <stdio.h>void swap(int* &a, int* &b)
{int* temp = a;a = b;b = temp;
}int main()
{int a, b, c;int *p1=&a,*p2=&b,*p3=&c;scanf("%d %d %d",p1,p2,p3);if (a < b)swap(p1, p2);if (a < c)swap(p1, p3);if (b < c)swap(p2, p3);printf("%d %d %d\n",*p1,*p2,*p3);printf("%d %d %d\n",p1,p2,p3);printf("%d %d %d\n",&a,&b,&c);
}
输入 1 2 4
输出 4 2 1
p1,p2 p3的地址已经发生了改变
1549352380 1549352376 1549352372
1549352372 1549352376 1549352380 

10.10

  • 题目描述
    给定字符串定义char *a = “I love China!”,读入整数n,输出在进行了a = a + n这个赋值操作以后字符指针a对应的字符串。

  • 输入
    一个整数n,保证0<=n<13.

  • 输出
    输出进行了题目描述中赋值操作之后a对应的字符串。
    请注意行尾输出换行。

  • 样例输入
    7

  • 样例输出
    China!
 #include <stdio.h>int main()
{char s[14] = "I love China!";char* a = s;int n;scanf("%d",&n);while(n >= 0 && n < 13){printf("%c",*(a+n));n++;}return 0;
}

10.15

  • 题目描述
    输入3个字符串,按从小到大的顺序输出。要求使用指针的方法进行处理。

  • 输入
    3行,每行一个用字符串。保证每个字符串的长度不超过20。

  • 输出
    按从小到大的顺序输出这3个字符串,每个字符串一行。
    请注意行尾输出换行。

  • 样例输入
    China
    CLOCK
    deal

  • 样例输出
    CLOCK
    China
    deal
#include <stdio.h>
#include <string.h>void swap(char* &a, char* &b)
{char* temp = a;a = b;b = temp;
}int main()
{char s1[21],s2[21],s3[21];char *p1 = s1,*p2 = s2,*p3 = s3;gets(s1);gets(s2);gets(s3);if (strcmp(s1, s2)>0)swap(p1,p2);if (strcmp(s1, s3)>0)swap(p1, p3);if (strcmp(s2, s3)>0)swap(p2, p3);puts(p1);puts(p2);puts(p3);return 0;
}

10.16

  • 题目描述
    输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。

  • 输入
    用空格隔开的10个整数。

  • 输出
    输出进行题目描述操作之后的10个整数,每个整数之后输出一个空格。
    请注意行尾输出换行。

  • 样例输入
    1 5 2 4 9 0 3 8 7 6

  • 样例输出
    0 5 2 4 6 1 3 8 7 9
#include <stdio.h>void input(int a[])
{int i;for (i=0;i<10;i++)scanf("%d",&a[i]);
}
void ouput(int a[])
{int i;for (i=0;i<10;i++)printf("%d ",a[i]);printf("\n");
}
int find_max(int a, int b)
{if (a>b)return a;elsereturn b;
}
int find_min(int a, int b)
{if (a>b)return b;elsereturn a;
}
int main()
{int a[10],temp=a[0],i,max,min;input(a);for (i=1;i<10;i++){max = find_max(temp, a[i]);temp = max;}temp = a[0];for (i=1;i<10;i++){min = find_min(temp, a[i]);temp = min;}for (i=0;i<10;i++){if (a[i] == max){temp = a[i];a[i] = a[9];a[9] = temp;} else if(a[i] == min){temp = a[i];a[i] = a[0];a[0] = temp;}}ouput(a);return 0;
} 

C/C++[指针/引用]相关推荐

  1. 2020-09-25C++学习笔记引用2:二级指针形参与指针形参的使用方法和区别重难点,主看综合代码(1、指针形参2、引用形参3、二级指针形参4、指针引用形参)

    2020-09-25C++学习笔记引用2:二级指针形参与指针引用搭配做形参的使用方法区别重难点,注意事项主看综合代码(1.指针形参2.引用形参3.二级指针形参4.指针引用形参) 1.指针引用 #inc ...

  2. C++中指针*与指针引用*的区别说明

    C++中*&(指针引用)与*(指针)的区别 *指针是一个存放地址的变量,指针引用指的是这个存放地址的变量的引用. C++中如果参数不是引用的话,会调用参数对象的拷贝构造函数, 所以如果有需求想 ...

  3. c一:指针引用(int * p )和指针(int * q)的区别

    #include <iostream>using namespace std;int g = 300;void print(int p, int q) {cout << p & ...

  4. c语言实参形参函数调用指针引用 符号实例,C语言实参、形参、函数调用、指针、引用、符号实例.doc...

    C语言实参.形参.函数调用.指针.引用.符号实例 C语言实参.形参.函数调用.指针.引用.*&符号实例 实现环境:VC6 程序源代码: #include "stdio.h" ...

  5. 二叉查找树-优化版,使用了指针引用

    1 //与上一次实现不同,这里使用了大量的指针引用, 2 //因此节省了一个指向父节点的指针 3 #include<iostream> 4 #include<vector> 5 ...

  6. C++中 *(指针引用)与*(指针)的区别

    转自:http://blog.sina.com.cn/s/blog_673ef8130100imsp.html 指针传递参数本质上是值传递的方式,它所传递的是一个地址值.值传递过程中,被调函数的形式参 ...

  7. c语言中通过指针引用数组,C语言基础(二)

    指针引用数组 C语言规定:如果指针变量p已指向数组中的一个元素,则p+1指向同一数组中的下一个元素. 引入指针变量后,就可以用两种方法来访问数组元素了.如果p的初值为&a[0],则: p+i和 ...

  8. 浅谈Object Pascal的指针[引用 Nicrosoft]

    浅谈Object Pascal的指针 Nicrosoft(nicrosoft@sunistudio.com) -- 2001.8.26     http://www.sunistudio.com/ni ...

  9. 面试准备每日五题:C++(六)——CC++、staticconstextern、sizeof strlen、指针引用、数组指针指针数组函数指针

    文章目录 一.C和C++的区别是什么? 二.关键字static.const.extern作用 三.sizeof和strlen的区别 四.指针和引用的区别 五 .指针数组.数组指针.函数指针 一.C和C ...

  10. 编程题:字符串的指针引用。用指针法实现。功能:将字符串str2复制连接到str1...

    编程题:字符串的指针引用.用指针法实现.功能:将字符串str2复制连接到str1 #include<stdio.h> void main() { char *s1,*s2, str1[30 ...

最新文章

  1. 【PP操作手册】创建公司间交易采购订单
  2. JavaScript实现判断整数是否为2的幂isPowerOfTwo算法(附完整源码)
  3. hibernate mysql分页_求struts+hibernate实现mysql分页的详细代码
  4. LeetCode 1497. 检查数组对是否可以被 k 整除(余数配对)
  5. python中的画布控制_使按钮在画布上工作(tkinter)
  6. APPCAN学习笔记002---app快速开发AppCan.cn平台特色
  7. ES6——Class 的继承 笔记
  8. c++题目大坑:分数化小数
  9. OPC UA 统一架构学习4
  10. java class多重泛型_多重继承求泛型类的类型
  11. viper4android10段调节,VIPER HiFi怎么设置音效 音效调整技巧
  12. Linux系统cp:omitting directory`XXX'问题解决
  13. 真励志!从月薪2300深圳流水线女工,逆袭为年薪80万谷歌工程师,又因疫情失业:我绝不轻易认输...
  14. 霸榜巨作、阿里内部顶级专家整理(Redis 5设计与源码分析)
  15. c 与易语言程序间通信,易语言与三菱PLC通信-FX系列
  16. acm CodeForces 546A
  17. 大数据就是非相关数据的相关性
  18. 正则表达式——文本处理的“东风导弹”
  19. 100天精通Python丨办公效率篇 —— 14、Python这些小技巧,让文件管理更加智能
  20. Oracle 行列转换函数pivot使用

热门文章

  1. java jackson注意_Jackson注意事项
  2. 一个借口几万条数据但是只返回十条_爬虫实践之爬取10000条菜谱数据
  3. excel 案例素材_盘点 | 十分钟进阶Excel数据可视化
  4. 如何通过 Redis 实现分布式锁
  5. 浅谈Event Loop
  6. 解决 vim 报错:the imp module is deprecated in favour of importlib
  7. Windows 2012 R2 操作系统搭建DHCP-HA集群
  8. Red Hat Linux 启动流程图
  9. CHARINDEX 连同 SUBSTRING 对字符串删除处理...
  10. linux磁盘分配最佳实践,干货再次来袭!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载八)用命令实现批量添加用户...