| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 529 人关注过本帖
标题:求高手解答
只看楼主 加入收藏
和映雪
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-12-8
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
求高手解答
方阵的主对角线之上称为“上三角”,设计一个用于填充n(n从键盘读入,约定其取值范围为3~20)阶方阵的上三角区域的程序。填充的规则是:使用1,2,3……的自然数列,从左上角开始,按照顺时针方向螺旋填充。输出时要求每个数据宽度为4、右对齐。
  编程可用素材:printf("Please input n: ")、printf("\nResult is:\n")、printf("%4d"...、printf("\n")。


Please input n: 6

Result is:
   1   2   3   4   5   6
  15  16  17  18   7
  14  21  19   8
  13  20   9
  12  10
  11

搜索更多相关主题的帖子: 自然数 对角线 顺时针 
2012-12-08 19:13
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 
编程可用素材:printf("Please input n: ")、printf("\nResult is:\n")、printf("%4d"...、printf("\n")。

这几乎可以肯定是标准的作业题了

DO IT YOURSELF !
2012-12-08 19:15
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:5 
作业题少说也要放个50来分嘛,现在人品很贵的...

I have not failed completely
2012-12-08 19:57
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用神龙赖了在2012-12-8 19:57:28的发言:

作业题少说也要放个50来分嘛,现在人品很贵的...
放100分 我也不会  那个螺旋旋转  一点规律都没有  是不是要先填充数组  然后输出啊

DO IT YOURSELF !
2012-12-08 20:02
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:5 
呵呵,她拿作业我拿分,看客们如果有兴趣可以品评一下我的代码。

如此一举三得的事情我倒是觉得也不错。

20分全加到这一贴上,换我一段代码。

对于作业我真懒得废话,愿意就照我的规矩来,不愿意或者质疑我的能力也无所谓,只是不必再与我多言。

重剑无锋,大巧不工
2012-12-08 21:31
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:5 
自己试了一下,还行
程序代码:
#include <stdio.h>
#include <math.h>
#include <string.h>
#define N 20
int a[N][N];
int main()
{
    int n, line;    //输入数,与行数
    int i, j, k;
    int temp1 = 1;
    int temp2;

    memset(a, 0, N * N * 4);
    printf("Please input n: ");    scanf("%d", &n);

    for (line = 1;line * (line + 1) / 2 < n;line++);
    temp2 = line;    //得到所需的行数
    //思路:每次初始化一个三角形
    for (i = 0;i < temp2;i++)
    {
        for (j = i;j <temp2 && temp1 <= n;a[i][j++] = temp1++);    //横直角边
        for (j -= 2, k = i + 1;j >= i && temp1 <= n;a[k++][j--] = temp1++);//斜边
        for (k -= 2;k > i && temp1 <= n;a[k--][i] = temp1++);    //竖直角边
        temp2 -= 2;
    }

    printf("\nResult is:\n");
    for (i = 0;i < line;i++)
    {
        for (j = 0;j < line - i;j++)
            printf("%4d", a[i][j]);
        printf("\n");
    }
    return 0;
}


[ 本帖最后由 azzbcc 于 2012-12-8 22:50 编辑 ]


[fly]存在即是合理[/fly]
2012-12-08 22:39
快速回复:求高手解答
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030405 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved