/****************************************************************************************
作者:好心情
日期: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条评论)
登录后参与讨论