输入13个数,输出最小值
#include<stdio.h> main() { int a[13]; //学号尾号+4,构建一个数组里面有13个数 int *p,i,temp; //定义指针p,用temp实现两个数交换 for(i=0;i<13;i++) //定义一个for循环,为数组开头到结尾标号 scanf("%d\n",&a[i]); //用scanf来输入对数组赋值 for(p=a;p<(a+13);p++) //使指针变量直接指向数组元素,用p++使p的值不断改变指向不同的元素 { if(*p<*(p+1)) //if语句比较两个数,执行比较,求出最小值 { temp=*p; *p=*(p+1); *(p+1)=temp; //用指针指向的数来比较,两个数交换使比较小的数往后排 } } printf("%d\n",a[12]);//经过交换使得输入最小的数交换到了最后的数a[12]. }
总结:(1)数组和指针之间是不同的,用指针指向数组的是收个数值的地址,而且指针是一个变量,数组是定量,用指针可以实现数的交换,可以更快速,方便。
(2)编程中注意细节,往往一个代码可能就是因为丢三落四不能运行,所以需要长时间的实践弥补不足。
(3)可能是练习太少的缘故,编程浪费了不少的时间,所以希望自己以后能以最少的时间完成更好的完成任务,