急求tc环境下C语言程序,100行左右,在win-tc下要能运行的…最好不要其他地方百度来的……又追加……
5个回答
展开全部
//n^n的自然数构成的魔方阵
#include <stdio.h>
int main()
{ int a[15][15],i,j,k,p,n;
p=1;
while(p==1)
{printf("enter n(n=1--15):");
scanf("%d",&n);
if ((n!=0) && (n<=15) && (n%2!=0))
p=0;
}
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
a[i][j]=0;
j=n/2+1;
a[1][j]=1;
for (k=2;k<=n*n;k++)
{i=i-1;
j=j+1;
if ((i<1) && (j>n))
{i=i+2;
j=j-1;
}
else
{if (i<1) i=n;
if (j>n) j=1;
}
if (a[i][j]==0)
a[i][j]=k;
else
{i=i+2;
j=j-1;
a[i][j]=k;
}
}
for (i=1;i<=n;i++)
{for (j=1;j<=n;j++)
printf("%5d",a[i][j]);
printf("\n");
}
return 0;
}
#include <stdio.h>
int main()
{ int a[15][15],i,j,k,p,n;
p=1;
while(p==1)
{printf("enter n(n=1--15):");
scanf("%d",&n);
if ((n!=0) && (n<=15) && (n%2!=0))
p=0;
}
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
a[i][j]=0;
j=n/2+1;
a[1][j]=1;
for (k=2;k<=n*n;k++)
{i=i-1;
j=j+1;
if ((i<1) && (j>n))
{i=i+2;
j=j-1;
}
else
{if (i<1) i=n;
if (j>n) j=1;
}
if (a[i][j]==0)
a[i][j]=k;
else
{i=i+2;
j=j-1;
a[i][j]=k;
}
}
for (i=1;i<=n;i++)
{for (j=1;j<=n;j++)
printf("%5d",a[i][j]);
printf("\n");
}
return 0;
}
追问
这个不错, 就是有点短,至少要在八十行以上,,能在加一下吗?谢谢
展开全部
#include <stdio.h>
#include <assert.h>
#include <string.h>
int sum_n(int n)
{
return 1 + (n * (n + 1))/ 2;
}
int rev(int n, int m)
{
return ((m + n) & 0x1) ? m : n;
}
int bn(int n, int m)
{
return sum_n(n + m) + rev(m, n);
}
void snake_array(int *p, int m)
{
int max_v = m * m + 1;
for(int i = 0; i < m; ++i)
{
for (int j = 0; j < m - i ; ++j)
{
int value = bn(j, i);
(p + i * m)[j] = value;
(p + (m - i - 1) * m)[m - j - 1] = max_v - value;
}
}
}
void print_square(int *p, int m)
{
for(int i = 0; i < m; ++i)
{
for(int j = 0; j < m; ++j)
{
printf("%3d ", (p + i * m)[j]);
}
puts("");
}
}
int main(int argc, char *argv[])
{
static const int N = 7;
int array[N * N] = {0};
snake_array(array, N);
print_square(array, N);
return 0;
}
#include <assert.h>
#include <string.h>
int sum_n(int n)
{
return 1 + (n * (n + 1))/ 2;
}
int rev(int n, int m)
{
return ((m + n) & 0x1) ? m : n;
}
int bn(int n, int m)
{
return sum_n(n + m) + rev(m, n);
}
void snake_array(int *p, int m)
{
int max_v = m * m + 1;
for(int i = 0; i < m; ++i)
{
for (int j = 0; j < m - i ; ++j)
{
int value = bn(j, i);
(p + i * m)[j] = value;
(p + (m - i - 1) * m)[m - j - 1] = max_v - value;
}
}
}
void print_square(int *p, int m)
{
for(int i = 0; i < m; ++i)
{
for(int j = 0; j < m; ++j)
{
printf("%3d ", (p + i * m)[j]);
}
puts("");
}
}
int main(int argc, char *argv[])
{
static const int N = 7;
int array[N * N] = {0};
snake_array(array, N);
print_square(array, N);
return 0;
}
追问
这个是什么的啊,能把程序名称也告诉一下吗?能再加一点吗?至少要八十行…谢谢…
追答
那是蛇形方阵的程序。程序重要的是实现功能。并且都求简短,你的要求这个程序满足不了。
这儿有个刚好100行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
想要哪方面的?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呵呵,看来你还是c的初学者
在代码上加一行getch();
getch()命令表示始终等待用户输入
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呵呵,看来你还是c的初学者
在代码上加一行getch();
getch()命令表示始终等待用户输入
在代码上加一行getch();
getch()命令表示始终等待用户输入
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询