原创 c语言实例--数组逆序

2007-8-31 11:15 3501 4 4 分类: 软件与OS

/****************************************************************************************
作者:好心情
日期:2007-08-31
描述:将一个数组中的数据逆序,并输出原始数据以及逆序后数组中的数据
                                                                    
****************************************************************************************/
#include <stdio.h>
#define N 5 //定义常量


void main()
{
 int i,j;//i做循环计数器,j统计输入的数字个数
 int a[N],tmp;//数组,中间变量
 j=0;


 //输入数组数据
 printf("请输入数字,不超过%d个(9999结束输入)",N);
 for (i=0;i<N;i++)
 {
  printf("\n请输入第%d个数:",i+1);
  scanf("%d",&a);
  if (a==9999) //检查用户是否需要结束输入
  {
   break;
  }
  j++;
 }


 //输出原始数据
 printf("\n数组中保存了%d个数原始数据为:",j);
 for (i=0;i<j;i++)
 {
  printf(" %3d ",a);
 }


 /*对数组中的元素进行逆序,即第一个与最后一个交换,第二个与倒数第二个,直到第N/2个*/
 for (i=0;i<j-1-i;i++) //通过循环对数组进行操作
 {
  tmp=a;  //利用中间变量交换数据
  a=a[j-1-i];
  a[j-1-i]=tmp;
 }


 //输出逆序以后的顺序
 printf("\n逆序以后的数据为:");
 for (i=0;i<j;i++)
 {
  printf(" %3d ",a);
 }


}


下面是运行结果


点击看大图

文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /2 下一条