• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

C语言编程的问题

大少爷安安 2019-04-14 浏览量:525

求n的值!请问程序哪里错了?

捕获.PNG

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • for循环语句的括号中的第一个分号之前部分i<=a-1这个是不对的,这是个判断语句,这里应该是i赋初值,所以应嘎是i=a-1;

    此外for循环中的n=a*i这里逻辑不对,应该是n=n*i这种递归的乘。

    001.png

    • 发布于 2019-04-14
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:7
  • 你想求N!

    那应该是

    n=1;

    for(i=a;i>0;i--)

       n=n*i;


    • 发布于2019-04-14
    • 举报
    • 评论 0
    • 0
    • 0

  • i没有赋初值,后面的代码也没给i赋值,所以i就是随机数,和a计算得出的n也是随机数
    • 发布于2019-04-14
    • 举报
    • 评论 0
    • 0
    • 0

  • for循环不是这样用的,

    应该是                      for(i=a-1;i>0;i--)

                                       n=a*i;

    其中i=a-1只在开始执行一次,先判断i>0是否为真,做完循环再i--

    • 发布于2019-04-14
    • 举报
    • 评论 2
    • 0
    • 0
xdsnet 回复了 代人凌峰 :你改过的结构也是不对的 回复
代人凌峰 回复了 代人凌峰 :是呢,应该是n=n*i; 回复

  • i没有初始化值,这里的小于等于是不对的,应该是等于 才对的
    • 发布于2019-04-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 你的 i 的赋值是不对的,这里只是一个判断语句,并不是赋值语句,应该是等于才对的
    • 发布于2019-04-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个for循环的第一句写错了,应该是i=a-1,这样i才能有个确定的初始值,否则i的值就是随机的

    此外,这里建议不要用int定义ani,用个unsigned int会比较好

    • 发布于2019-04-17
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

C语言编程的问题