已采纳回答 / 肿么肥事
return getWordNumber(n-1)+n,这一句的意思是数学中的f(x)=f(x-1)+x。你在1.中的代码只有一句并不能结束,在原题的例子中,n>1时会自动在factorial(n)中运行factorial(n-1),而factorial(n-1)中又会运行factorial(n-2),直到运行到第k层即函数中不会再运行下一个函数为止(也就是n已经被逐步减到1为止)。(题主的代码和例子不一样我就拿例子来说)主函数中n=5,factorial(n)函数执行“else”语句,执行else...
2018-11-17
已采纳回答 / eisuto
当<...code...> 时最后一次循环后 num的值为1000,不满足循环条件退出循环。<...code...>当<...code...> ...
2018-11-16
已采纳回答 / 流星64
#include<stdio.h>long long f(n){if(n==1){ return 1;}else{ return f(n-1)*n;}}int main(){ long long sum; sum=f(20); printf("%lld\n",sum); return 0;}
2018-11-16
已采纳回答 / WuLve
你的没错,慕课这里显示的是输出错误,说明的是你输出的结果和给定的结果表述不同而已。但是,实际上是没错误的。如果要修改,就把倒数第五行改为 printf("%d年%d月%d日是该年的第%d天", year, month, day, sum);
2018-11-15
已采纳回答 / 慕挽幻清
运行如下:
(20>x)判断,如果正确那么结果为1,错误为0。
1或0永远大于等于0,所以只能执行第一个if中的语句。
建议改成 ( x>=0&&20>x)
后面的也是这格式。
2018-11-13
已采纳回答 / 迷彩的强森
可能使你没有使用英文输入,或者表达式有问题,你要把代码写出来看看。#include <stdio.h>int main(){ //定义三位数num,个位数sd,十位数td,百位数hd int num, sd, td, hd; //循环所有三位数 for( num=100 ; num<1000 ; num++ ) { //获取三位数字num百位上的数字 hd = num/100 ; /...
2018-11-12