| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1212 人关注过本帖
标题:请问一下我的这道程序有什么问题啊?
只看楼主 加入收藏
ritajz
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-10-22
收藏
 问题点数:0 回复次数:13 
请问一下我的这道程序有什么问题啊?
下面这个程序是为了输出:the factorial of 2 is 1 * 2 = 2,
                        the factorial of 3 is 1 * 2 * 3 = 6,
                        the factorial of 4 is 1 * 2 * 3 * 4 = 24,
                        .......
#include<stdio.h>
void main()
{
  int a[8];
  int i,j;
  a[0]=1;
  
  for(i=1;i<=7;++i)
  a[i]=a[i-1]*i;
   
  for(i=1;i<=7;++i)
  printf("The factorial of %d is %d\n",i,a[i]);

 for(i=1;i<=7;i++)
  {
printf("\nThe factorial of %d is ",i);
  for(j=1;j<=i;j++)
{
  while(i==1)
{
    printf("");
}

  while(j<i)
{
printf("%d * ",j);
}
  while(j>=i)
 {
printf("%d = ",j);
 }
}

printf("%d\n",a[i]);
 }
}
搜索更多相关主题的帖子: c语言 
2008-10-22 20:13
hjmHhyp
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-10-9
收藏
得分:0 
一眼看去,你的程序比较乱啊。
2008-10-22 20:34
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
LZ,其实我是很佩服你的,在没有缩进的情况下,你能保证大括号是配对的真是很不简单……

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-10-22 20:41
qhhxhyn
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-10-23
收藏
得分:0 
#include<stdio.h>
void main()
{
 int i,j;
 long int a=1;
 for(i=2;i<=8;i++)
 {
  a=a*i;
  printf("the factorial of %d is 1",i);
  for(j=2;j<=i;j++)
  { printf("*%d",j);}
  printf("=%d\n",a);
 }
}不知道为什么到*8的时候出错了,可是我定义的时候用的是long int 啊????
2008-10-23 10:41
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
你输出的是什么?long int是%ld

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-10-23 10:47
qhhxhyn
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-10-23
收藏
得分:0 
你的程序把里面 while改成if 就可以了
2008-10-23 12:08
qhhxhyn
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-10-23
收藏
得分:0 
谢谢 哈利波特 啊,呵呵,我怎么把这个忘了,没问题了着下
2008-10-23 12:14
ritajz
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-10-22
收藏
得分:0 
回复 6# qhhxhyn 的帖子
可是while 和if 是可以相互替换的阿?!
2008-10-23 16:09
ritajz
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-10-22
收藏
得分:0 
回复 2# hjmHhyp 的帖子
是有点,我也觉得。

有没有什么可以输出同样的结果但比较简洁的代码呢?

谢了~~
2008-10-23 16:10
牧人
Rank: 1
等 级:新手上路
帖 子:126
专家分:0
注 册:2008-10-22
收藏
得分:0 
确实麻烦啊


看看这个可以吗:

#include <stdio.h>
main()
{
    double i,j=1;
    for(i=1;i<=20;i++)
    {    
        j*=i;
        printf("%lf\n",j);
    }    


        
    
}
2008-10-23 16:43
快速回复:请问一下我的这道程序有什么问题啊?
数据加载中...
 
   



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

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