网站建设帮助中心,wordpress微信小程序插件,湖南响应式网站设计,宁德小程序开发描述
由小到大输出成一行#xff0c;每个数字后面跟一个空格。
输入
三个整数
输出
输入三个整数#xff0c;按由小到大的顺序输出。
输入样例 1
2 3 1
输出样例 1
1 2 3
输入样例 2
4 5 2
输出样例 2
2 4 5
代码一#xff08;如下#xff09;#xff1…描述
由小到大输出成一行每个数字后面跟一个空格。
输入
三个整数
输出
输入三个整数按由小到大的顺序输出。
输入样例 1
2 3 1
输出样例 1
1 2 3
输入样例 2
4 5 2
输出样例 2
2 4 5
代码一如下简单判断
#include iostream
using namespace std;
int main()
{int a, b, c;cin a b c;int t0;if (a b){t a;a b;b t;}if (a c){t a;a c;c t;}if (b c){t b;b c;c t;}cout a b c;return 0;
}
代码二如下冒泡排序
#include iostream
using namespace std;
int main()
{int a[3];int i;for (i 0; i 3; i){cin a[i];}for (i 0; i 2; i)for (int j 0; j 2 - i; j){if (a[j] a[j 1]){int t a[j];a[j] a[j 1];a[j 1] t;}}for (i 0; i 3; i){cout a[i] ;}return 0;
}
代码三如下选择排序
#include iostream
using namespace std;
int main()
{int a[4];int i, j, k, t;for (i 1; i 4;i){cin a[i];}for (i 1; i 3; i){k i;for (j i1; j 4 ; j){if (a[k] a[j]){k j;} }t a[k];a[k] a[i];a[i] t;}for (i 1; i 4; i){cout a[i] ;}return 0;
}
代码四如下指针
#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;return 0;
}
void exchange(int* p1, int* p2, int* p3)
{void swap(int*, int*);if (*p1 *p2)swap(p1, p2);if (*p1 *p3)swap(p1, p3);if (*p2 *p3)swap(p2, p3);
}
void swap(int* a, int* b)
{int t;t *a;*a *b;*b t;
}
问题点
①程序经过编译以后已经将变量名转换为变量的地址对变量值的存取都是通过地址进行的。
②由于通过地址能找到所需的变量单元因此可以说地址指向该变量单元。因此将地址形象化地称为“指针”意思是通过它能访问以它为地址的内存单元。一个变量的地址称为该变量的指针。
③如果有一个变量是专门用来存放地址即指针的则它称为指针变量。指针变量的值即指针变量中存放的值是地址即指针。
④用指针变量来指向另一个变量。为了表示指针变量和它所指向的变量之间的联系在C中用“*”符号表示指向“*”为指针运算符或称间接访问运算符
每一个指针变量分配4字节的存储空间。对指针变量必须将它定义为指针变量。
如int *a*b //定义指针变量ab
该例子中所定义的指针变量是指向整型数据的指针变量。这个int就是指针变量的基类型就是指针变量指向的变量类型。
定义指针变量的一般形式为基类型 *指针变量名。“*”不是指针变量名的一部分。在变量名前加一个“*”表示该变量时指针变量。
只需要把被指向的变量的地址赋给指针变量就可以使一个指针变量指向另一个变量
如ai //将变量i的地址存放到指针变量a中“”是取地址运算符
⑤在定义指针变量时必须指定基类型不同类型的数据在计算机系统中的存储方式和所占的字节数是不相同的。指针变量是基本类型派生出来的类型它不能离开基本类型而独立存在。
⑥不能用一个整数给一个指针变量赋值。如int *a2000是错误的。
⑦“”和“*”两个运算符的优先级别相同但按自右而左方向结合。
⑧区分 #include iostream using namespace std; int main() { int* p1, * p2, * p, a, b; cin a b; p1 a; p2 b; if (a b) { p p1; p1 p2; p2 p; } cout *p1 *p2; //ab从小到大输出a、b的值未变p1、p2的指向变了 return 0; } #include iostream using namespace std; int main() { int* p1, * p2, a, b; cin a b; p1 a; p2 b; if (a b) { int t *p1; *p1 *p2; *p2 t; } cout a b; //ab从小到大输出a、b的值改变了p1、p2的指向未变 return 0; }