仲宇航

输入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)可能是练习太少的缘故,编程浪费了不少的时间,所以希望自己以后能以最少的时间完成更好的完成任务,

posted on 2017-03-15 09:23  长心人  阅读(223)  评论(0编辑  收藏  举报

导航