1+2!+3!+4!...+20! C语言知识求教。
如题,我想问这个式子是什么意思?1+2!+3=61+2!+3!=9。这是怎么算的?虽然是C语言里的编程题,但是至少我也得明白这式子是啥意思吧==。求高手指点还有能不能顺便...
如题,我想问这个式子是什么意思?1+2!+3=6 1+2!+3!=9。这是怎么算的?
虽然是C语言里的编程题,但是至少我也得明白这式子是啥意思吧= =。求高手指点
还有能不能顺便简单明了的介绍一下“斐波那契数列”是啥 = =。
还有下面这个程序每一行的意思。
main()
{
int a[10],i;
printf("input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]); 尤其是这一行。&a[i] 这个地址是什么意思?' i '不是代表这个数组的长度么?怎么可以用来做变量?而且这个数组长度不是已经在第三行就定义为10了么?
printf("\n");
for(i=0;i<10;i++)
printf("%d",a[i]);
} 展开
虽然是C语言里的编程题,但是至少我也得明白这式子是啥意思吧= =。求高手指点
还有能不能顺便简单明了的介绍一下“斐波那契数列”是啥 = =。
还有下面这个程序每一行的意思。
main()
{
int a[10],i;
printf("input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]); 尤其是这一行。&a[i] 这个地址是什么意思?' i '不是代表这个数组的长度么?怎么可以用来做变量?而且这个数组长度不是已经在第三行就定义为10了么?
printf("\n");
for(i=0;i<10;i++)
printf("%d",a[i]);
} 展开
6个回答
展开全部
2! = 1 × 2
5! = 1 × 2 × 3 × 4 × 5
斐波那契数列
1 1 2 3 5 8 13......,从第三项开始,每一项都是其前两项之和。
scanf("%d",&a[i]);
&a[i]表示取a[i]的地址。在语句int a[10];中,是声明a是一个含有10个整数的数组,这里的10表示数组长度,但在语句scanf("%d",&a[i]);中,a[i]是一个数组变量,i不再表示数组的长度,要注意区分声明与使用变量之间的区别。
5! = 1 × 2 × 3 × 4 × 5
斐波那契数列
1 1 2 3 5 8 13......,从第三项开始,每一项都是其前两项之和。
scanf("%d",&a[i]);
&a[i]表示取a[i]的地址。在语句int a[10];中,是声明a是一个含有10个整数的数组,这里的10表示数组长度,但在语句scanf("%d",&a[i]);中,a[i]是一个数组变量,i不再表示数组的长度,要注意区分声明与使用变量之间的区别。
展开全部
1+2!+3!=1+2*1+3*2*1=9
斐波那契数列:
1、1、2、3、5、8、13、21(前面两个数字相加等于后面一个数)
main() //主函数
{
int a[10],i;//定义元素个数为10的整数数组a[10]和整数i
printf("input 10 numbers:\n");//屏幕显示
for(i=0;i<10;i++) // i从0到9 循环10次
scanf("%d",&a[i]); 尤其是这一行。&a[i] 这个地址是什么意思?' i '不是代表这个数组的长度么?怎么可以用来做变量?而且这个数组长度不是已经在第三行就定义为10了么?
// a[i]表示这个数组的第i+1个元素 &a[i]表示取a[i]的地址 数组长度定义的时候是10(a[10])是固定的 这一行是输入10个数字到a数组里面去的意思
printf("\n");//打印 换行
for(i=0;i<10;i++)//i从0到9 循环10次
printf("%d",a[i]);//打印你输入的数组
}
希望能帮到你
满意请采纳
斐波那契数列:
1、1、2、3、5、8、13、21(前面两个数字相加等于后面一个数)
main() //主函数
{
int a[10],i;//定义元素个数为10的整数数组a[10]和整数i
printf("input 10 numbers:\n");//屏幕显示
for(i=0;i<10;i++) // i从0到9 循环10次
scanf("%d",&a[i]); 尤其是这一行。&a[i] 这个地址是什么意思?' i '不是代表这个数组的长度么?怎么可以用来做变量?而且这个数组长度不是已经在第三行就定义为10了么?
// a[i]表示这个数组的第i+1个元素 &a[i]表示取a[i]的地址 数组长度定义的时候是10(a[10])是固定的 这一行是输入10个数字到a数组里面去的意思
printf("\n");//打印 换行
for(i=0;i<10;i++)//i从0到9 循环10次
printf("%d",a[i]);//打印你输入的数组
}
希望能帮到你
满意请采纳
更多追问追答
追问
你的回答比较详细,虽然其他人的回答也好但是我是在你这里看懂并且理解的。
然后我想问,int a[10] 是已经定义长度为10的了。可是我在下面的循环结构中。改变i<10为i<12。这样就循环十二次了。也就是说输入一堆数的个数变成12个。最后输出的数组长度也是12个。可是数组定义的长度明明是10啊。为什么更改循环结构后数组长度会改变?
追答
数组长度没有变
i=9的时候 a[9]已经是数组的最后一个数组了
然后a[10] a[11]是数组越界了 而不是数组变长了
你在内存里读入了其他的数据 而这些数据不属于你 会导致数据混乱的
所以要尽量避免数组越界 声明数组多长 就只用多长
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
感叹号表示阶乘,定义就是n!=n*(n-1)*(n-2)*(n-3)*……*1
所以1+2!+3=1+2*1+3=6 1+2!+3!=1+2*1+3*2*1=9
一般阶乘的编程题都用循环结构比较好
斐波那契额数列 第n项等于第n-1项和第n-2项之和 1,1,2,3,5,8,13,21....关于斐波那契数列还有很多规律,包括求第n项,求和等等,有的很复杂
main()
{
int a[10],i; //定义变量
printf("input 10 numbers:\n"); //输出 input 10number 提示用户输入
for(i=0;i<10;i++) //循环结构
scanf("%d",&a[i]); //i是循环结构中的计数器,a[i]代表数组第i个元素,前面的&是scanf的语法结构,把读入的值赋给a[i],即从零到9,依次读入数组元素
printf("\n"); //换行
for(i=0;i<10;i++) //循环
printf("%d",a[i]); //输出数组第i个元素,即通过循环,将数组内容再输出来
}
所以1+2!+3=1+2*1+3=6 1+2!+3!=1+2*1+3*2*1=9
一般阶乘的编程题都用循环结构比较好
斐波那契额数列 第n项等于第n-1项和第n-2项之和 1,1,2,3,5,8,13,21....关于斐波那契数列还有很多规律,包括求第n项,求和等等,有的很复杂
main()
{
int a[10],i; //定义变量
printf("input 10 numbers:\n"); //输出 input 10number 提示用户输入
for(i=0;i<10;i++) //循环结构
scanf("%d",&a[i]); //i是循环结构中的计数器,a[i]代表数组第i个元素,前面的&是scanf的语法结构,把读入的值赋给a[i],即从零到9,依次读入数组元素
printf("\n"); //换行
for(i=0;i<10;i++) //循环
printf("%d",a[i]); //输出数组第i个元素,即通过循环,将数组内容再输出来
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.
n!=n(n-1)(n-2)(n-3)...1
5!=5*4*3*2*1=120;
2.
斐波那契数列就是
1 1 2 3 5 8 13 21.....就是前一项加上当前项为下一项如5+8=13也就是8的下一项
3.
a为数组的确已经定义了,那里的i是从0开始的你每输入一次就会+1,也就是0,1,2.。。。9
也就是说你输入的值其实是在a[0],a[1],a[2]......a[9];里面
n!=n(n-1)(n-2)(n-3)...1
5!=5*4*3*2*1=120;
2.
斐波那契数列就是
1 1 2 3 5 8 13 21.....就是前一项加上当前项为下一项如5+8=13也就是8的下一项
3.
a为数组的确已经定义了,那里的i是从0开始的你每输入一次就会+1,也就是0,1,2.。。。9
也就是说你输入的值其实是在a[0],a[1],a[2]......a[9];里面
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
像2!这样在数字后加一个!的表示叫阶乘,就是从1开始每次增1一直乘到这个数,如:2!=1x2=2,3!=1x2x3,4!=1x2x3x4……,例外,为运算上的方便和理论上的完善,规定0!=1。你自己可以算算那两个式子是不是为6和9了……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询