鱼C论坛

 找回密码
 立即注册
查看: 4051|回复: 1

c题目求助

[复制链接]
发表于 2013-9-13 20:53:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 老宇不老 于 2013-9-14 21:28 编辑

题目:由键盘输入正数n,要求输出中间数字为n的菱形图案。要求菱形左边紧靠屏幕左边。

如:
输入:4【enter】
输出:
      1
    121
  12321
1234321
  12321
    121
      1

我用如下代码实现。但是当输入n大于或等于6时,就会出错。为什么?
新手,大神莫笑~~~

#include <stdio.h>
#include <math.h>
int main()
{
    int n,i=1,t=1,s=0,u=1;
    scanf("%d",&n);
    while(i<=2*n-1)
    {
        while(t<=abs(n-i))
        {
            printf(" ");
            t++;
        }
        while(u<=(n-abs(n-i))*2-1)
        {
            s=s+((n-abs(n-i)-abs(n-abs(n-i)-u))*pow(10,u-1));
            u++;
        }
        printf("%d",s);
        printf("\n");
        t=1;
        u=1;
        s=0;
        i++;
    }
    return 0;
}

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-9-13 21:35:35 | 显示全部楼层
我知道原因了,当u=>6时,s已经超出了int类型的取值范围~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-6 07:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表