简单的蛇形、百叶窗、彩虹算法的c语言代码
时间: 2023-08-13 12:09:11 浏览: 67
以下是简单的蛇形、百叶窗、彩虹算法的C语言代码示例:
1. 蛇形算法
```c
#include <stdio.h>
int main()
{
int n, i, j, k = 1;
printf("Enter n: ");
scanf("%d", &n);
int a[n][n];
for(i = 0; i < n; i++)
{
if(i % 2 == 0)
{
for(j = 0; j < n; j++)
{
a[i][j] = k++;
}
}
else
{
for(j = n - 1; j >= 0; j--)
{
a[i][j] = k++;
}
}
}
printf("The snake matrix is:\n");
for(i = 0; i < n; i++)
{
for(j = 0; j < n; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
```
2. 百叶窗算法
```c
#include <stdio.h>
int main()
{
int n, i, j, k = 1;
printf("Enter n: ");
scanf("%d", &n);
int a[n][n];
for(i = 0; i < n; i++)
{
if(i % 2 == 0)
{
for(j = 0; j < n; j++)
{
a[j][i] = k++;
}
}
else
{
for(j = n - 1; j >= 0; j--)
{
a[j][i] = k++;
}
}
}
printf("The blind matrix is:\n");
for(i = 0; i < n; i++)
{
for(j = 0; j < n; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
```
3. 彩虹算法
```c
#include <stdio.h>
int main()
{
int n, i, j, k = 1, m = 0, p = 0;
printf("Enter n: ");
scanf("%d", &n);
int a[n][n];
while(m < n && p < n)
{
for(i = p; i < n; i++)
{
a[m][i] = k++;
}
m++;
for(i = m; i < n; i++)
{
a[i][n - 1] = k++;
}
n--;
if(m < n)
{
for(i = n - 1; i >= p; i--)
{
a[n - 1][i] = k++;
}
n--;
}
if(p < n)
{
for(i = n - 1; i >= m; i--)
{
a[i][p] = k++;
}
p++;
}
}
printf("The rainbow matrix is:\n");
for(i = 0; i < n; i++)
{
for(j = 0; j < n; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
```