| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 860 人关注过本帖
标题:(菱形字母图G)OJ杂不能通过?
只看楼主 加入收藏
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
结帖率:94.64%
收藏
已结贴  问题点数:20 回复次数:12 
(菱形字母图G)OJ杂不能通过?
程序代码:
#include <stdio.h>

void draw(int n) {
    int ch, rows = sum(n), cols = 1, i, j, space = n - 1;
    for(i = 0; i < rows; i++) {
        ch = 'A';
        for(j = 0; j < space; j++)
            putchar(' ');
        for(j = 0; j < cols; j++)
            putchar(j < cols / 2 ? ch++ : ch--);
        if(i < rows / 2) {
            space--;
            cols += 2;
        } else {
            space++;
            cols -= 2;
        }
        putchar('\n');
    }
}

int sum(int n) {
    int s = 1, i;
    for(i = 1; i < n; i++)
        s += 2;
    return s;
}

int main(void) {
    int n, i = 1;
    while(scanf("%d", &n) != EOF) {
        if(n < 1 || n > 26)
            printf("No image!\n\n");
        else {
            printf("Case %d:n=%d\n", i++, n);
            draw(n);
            printf("\n");
        }
    }
    return 0;
}
菱形字母图G


问题描述:


       输入一个整数n,输出如下用大写字母构成的有规律的图形。如n=3,有图形

       但对有些整数n,是无法输出这样的图形的,如n=30。     


输入:

       输入有若干行,每行有一个整数n,(|n|<65536)。 输入直到文件输入结束。


输出:

      对每一行的测试数据,先在一行上输出“Case #:”,其中“#”是测试数据的行编号(从1开始),再在同一行上输出n的具体值,格式如“n=3”。接着在下面的一行或若干行上输出结果图形,尾部无多 余空格。如无法按要求输出菱形字母图,那么输出“No image!”;两组输出数据之间空一行。

输入样例:
3
4

输出样例:
Case 1: n=3
  A
 ABA
ABCBA
 ABA
  A

Case 2: n=4
   A
  ABA
 ABCBA
ABCDCBA
 ABCBA
  ABA
   A
http://acmoj.shu.


[ 本帖最后由 lz1091914999 于 2011-6-22 21:58 编辑 ]
搜索更多相关主题的帖子: 字母 
2011-06-22 21:56
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:10 
使用直角坐标系试试。
    1
-1,0,1
   -1

—>〉Sun〈<—
2011-06-22 21:59
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
回复 2楼 cosdos
输出都正确了,可是OJ不能通过。
图片附件: 游客没有浏览图片的权限,请 登录注册


My life is brilliant
2011-06-22 22:01
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:10 
冒号后面要有空格。
而且不能显示的时候应该是这样的:
Case #: n=34
No image!

[ 本帖最后由 voidx 于 2011-6-22 22:05 编辑 ]
2011-06-22 22:02
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
回复 4楼 voidx
还是不行,非常之蛋疼。

My life is brilliant
2011-06-22 22:05
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:0 
回复 5楼 lz1091914999
有更改,看上面
2011-06-22 22:06
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
回复 4楼 voidx
无所谓啦,自己认同就行了。

My life is brilliant
2011-06-22 22:06
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:0 
尽量争取通过呗,玩 OJ 要的不就是 AC 那一瞬间的快感么
2011-06-22 22:09
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
回复 8楼 voidx
B1.最大公约数
问题描述

从输入文件中读入两个整数a,b,求最大公约数GCD(a,b)。

输入
输入有若干行,每行有两个整数a和b,之间有一个空格隔开(|a|,|b|<65536)。
输入直到文件输入结束。
输出
对每一行测试数据,每行上输出这两个整数a和b的最大公约数。如无最大公因数,则输出“no GCD”;两组输出数据之间无空行。

输入样例

6 11
6 9

输出样例

GCD(6,11) = 1
GCD(6,9) = 3

图片附件: 游客没有浏览图片的权限,请 登录注册


程序代码:
#include <stdio.h>

typedef unsigned short ushort;

int gcd(ushort a, ushort b) {
    ushort temp;
    while(a % b) {
        temp = a % b;
        a = b;
        b = temp;
    }
    return b;
}

int main(void) {
    ushort a, b;
    while(scanf("%hu%hu", &a, &b) != EOF)
        if(!a || !b)
            printf("no GCD\n");
        else
            printf("GCD(%hu, %hu) = %hu\n", a, b, gcd(a, b));
    return 0;
}

这题也是一样的,所以我还是不要做无谓的挣扎啦啦啦啦啦啦啦。。。。

My life is brilliant
2011-06-22 22:12
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:0 
咦?这题很蛋疼。gcd(a, b) == 1 不就是 a 和 b 没有最大公约数么?怎么样例输出与题目要求自相矛盾?
而且你这个代码写的有问题。
1. 你要先保证 a >= b
2. 根据题目要求 a, b 可以为负数。不能 printf("%hu...
3. 0 与任意非零整数的最大公约数应该是这个非零整数的绝对值

[ 本帖最后由 voidx 于 2011-6-22 22:20 编辑 ]
2011-06-22 22:15
快速回复:(菱形字母图G)OJ杂不能通过?
数据加载中...
 
   



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

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