/*****************************************************
copyright (C), 2014-2015, Lighting Studio. Co., Ltd.
File name:
Author:Jerey_Jobs Version:0.1 Date:
Description:
Funcion List:
*****************************************************/
copyright (C), 2014-2015, Lighting Studio. Co., Ltd.
File name:
Author:Jerey_Jobs Version:0.1 Date:
Description:
Funcion List:
*****************************************************/
#include <stdio.h>
#define N 5 //宏定义N等于5,如果以后程序要求数组变大,改动宏定义即可
int main()
{ //起初只初始化了一个二维数组
// int s[5][5] = {{2,6,5,4,8},{1,3,5,2,6},{5,3,6,9,1},{1,6,2,8,4},{3,5,9,2,6}};
int s[N][N]; //定义二维数组s、循环变量i,j,k和中间变量temp
int i,j,k;
int temp;
#define N 5 //宏定义N等于5,如果以后程序要求数组变大,改动宏定义即可
int main()
{ //起初只初始化了一个二维数组
// int s[5][5] = {{2,6,5,4,8},{1,3,5,2,6},{5,3,6,9,1},{1,6,2,8,4},{3,5,9,2,6}};
int s[N][N]; //定义二维数组s、循环变量i,j,k和中间变量temp
int i,j,k;
int temp;
printf("Enter your array(%d*%d) :\n",N,N); //提示用户输入N*N二维数组
for(i = 0;i < N;i++)
{
for(j = 0;j < N;j++)
{
scanf("%d",(*(s + i) + j));
}
}
for(i = 0;i < N;i++)
{
for(j = 0;j < N;j++)
{
scanf("%d",(*(s + i) + j));
}
}
printf("The original array is :\n"); //按照一定格式输出用户赋值的数组,方便在程序运行之后作比较
for(i = 0;i < N;i++)
{
for(j = 0;j < N;j++)
{
printf("%5d",*(*(s + i) + j));
}
printf("\n");
}
for(i = 0;i < N;i++)
{
for(j = 0;j < N;j++)
{
printf("%5d",*(*(s + i) + j));
}
printf("\n");
}
for(i = 0;i < N;i++) //利用循环进行比较和交换
{
if(i % 2 == 0) //对2取余判断是否是偶数行或者奇数行
{
for(j = 0;j < N;j++) //偶数行进行从小到大排列
{
for(k = j + 1;k < N;k++)
{
if(s[i][j] > s[i][k])
{
temp = s[i][j];
s[i][j] = s[i][k];
s[i][k] = temp;
}
}
}
}
else
{
for(j = 0;j < N;j++) //奇数行进行从大到小排列
{
for(k = j + 1;k < N;k++)
{
if(s[i][j] < s[i][k])
{
temp = s[i][j];
s[i][j] = s[i][k];
s[i][k] = temp;
}
}
}
}
}
{
if(i % 2 == 0) //对2取余判断是否是偶数行或者奇数行
{
for(j = 0;j < N;j++) //偶数行进行从小到大排列
{
for(k = j + 1;k < N;k++)
{
if(s[i][j] > s[i][k])
{
temp = s[i][j];
s[i][j] = s[i][k];
s[i][k] = temp;
}
}
}
}
else
{
for(j = 0;j < N;j++) //奇数行进行从大到小排列
{
for(k = j + 1;k < N;k++)
{
if(s[i][j] < s[i][k])
{
temp = s[i][j];
s[i][j] = s[i][k];
s[i][k] = temp;
}
}
}
}
}
printf("The array after funcation is :\n"); //输出变换后的数组,与原数组进行比较
for(i = 0;i < N;i++)
{
for(j = 0;j < N;j++)
{
printf("%5d",*(*(s + i) + j));
}
printf("\n");
}
for(i = 0;i < N;i++)
{
for(j = 0;j < N;j++)
{
printf("%5d",*(*(s + i) + j));
}
printf("\n");
}
return 0;
}
}