c语言练习题
来源:互联网 发布:源码包安装apache 编辑:程序博客网 时间:2024/06/04 00:59
题目:方阵的对角线之上称为“上三角“。请你设计一个用于填充N阶方阵的上三角区域的程序。填充的规则是:使用1,2,3,……的自然数列,从左上角开始,按照顺时针方向螺旋填充。例如,当N=3时,输出:
1 2 3
6 4
5
程序运行时要求用户输入整数N(3~20)
程序输出:方阵的上三角部分。
要求格式:每个数据的宽度为4,右对齐。
下面是本题的程序(答案不唯一)
#include<stdio.h>
int main()
{
int i,j,k,N;
int a[20][20];
printf("N=");
scanf("%d",&N);
k=1;
for (i=0;i<N;i++)
{
for (j=i;j<N-1-i*2;j++)
{a[i][j]=k;
k++;
}
for (j=i;j<N-1-i*2;j++)
{a[j][N-1-i-j]=k;
k++;
}
for (j=i;j<N-1-i*2;j++)
{a[N-1-i-j][i]=k;
k++;
}
}
if((N-1)%3==0)
a[(N-1)/3][(N-1)/3]=k;
for (i=0;i<N;i++)
{
for (j=0;j<=N-1-i;j++)
printf("%4d",a[i][j]);
if(j==N-i)
printf("\n");
}
return 0;
}
{
int i,j,k,N;
int a[20][20];
printf("N=");
scanf("%d",&N);
k=1;
for (i=0;i<N;i++)
{
for (j=i;j<N-1-i*2;j++)
{a[i][j]=k;
k++;
}
for (j=i;j<N-1-i*2;j++)
{a[j][N-1-i-j]=k;
k++;
}
for (j=i;j<N-1-i*2;j++)
{a[N-1-i-j][i]=k;
k++;
}
}
if((N-1)%3==0)
a[(N-1)/3][(N-1)/3]=k;
for (i=0;i<N;i++)
{
for (j=0;j<=N-1-i;j++)
printf("%4d",a[i][j]);
if(j==N-i)
printf("\n");
}
return 0;
}
阅读全文
0 0
- C 语言练习题
- c语言循环练习题
- C语言程序练习题
- c语言练习题
- c语言练习题2
- c语言练习题1
- c语言练习题3
- c语言练习题
- c语言练习题
- c语言练习题
- c语言练习题
- c语言小练习题
- c语言练习题(二)
- C语言练习题 1
- C 语言练习题总结
- C语言练习题---strlen()
- C语言 基础练习题
- C语言练习题
- raspberry pi zero w: yocto image 启动bluetooth
- 使用exe.4j将jar包打包为exe文件
- vue基础--自定义指令
- CSDN Markdown页面示例
- 年底别慌,没跳好槽的你还能做这些
- c语言练习题
- 一则通过Android Canvas动态绘制图形的实例介绍
- 从今天开始,每天稳定博客,学习网络安全
- 安卓7.0 状态栏分析 01----> 信号栏更新
- SDN之旅—mininet(在Windows系统上)安装
- IIS请求筛选模块被配置为拒绝包含双重转义序列的请求404.11
- 目标跟踪方法总结
- python学习过程
- 如何修改网页小图标,浏览器页面上的图标。