C语言求n个数的阶乘和,使用for语句循环,一定要用套嵌for语句吗?不用套嵌的单层for可以吗,
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言求n个数的阶乘和,使用for语句循环,一定要用套嵌for语句吗?不用套嵌的单层for可以吗,相关的知识,希望对你有一定的参考价值。
C语言求n个数的阶乘和,使用for语句循环,一定要用套嵌for语句吗?不用套嵌的单层for可以吗,C语言for语句
当然可以用单层循环!看——
#include "stdio.h"int main(int argc,char *argv[])
int i,t,k,n;
printf("Please enter n(int 0<n<13)...\\n");
if(scanf("%d",&n)!=1 || n<1 || n>12)
printf("Input error, exit...\\n");
return 0;
for(k=0,t=i=1;i<=n;t*=i++,k+=t);
printf("The result is %d\\n",k);
return 0;
运行样例:
int nj = 1;
for (int i = 1; i < n; ++i)
nj *= i;
sum += nj;
参考技术C 可以,开个数组累乘 参考技术D n个不连续的数吗? 可能需要用到数组哦
无限循环计算阶乘问题
(1) 声明用于存储阶乘结果的double型变量result,初始值为1.0。(2) 声明用于存储整数n的int型变量n,初始值为1。(3) 声明int型变量i,初始值为1。(4) 第一重循环:使用无限循环while语句,如while(1)。在第一重循坏体内完成如下内容:○1在控制台输出“请输入求阶乘中的n(1~100),输入负整数退出本程序:”,提示用户输入n。○2调用scanf()函数获取从键盘输入的n的值。○3使用if单分支语句判断n值的合法性,如果n小于0,使用break语句跳出第一重循环;如果n等于0,使用continue语句返回○1,继续循环。○4如果n值在[1,100]范围内,则先给result赋值为1.0,然后使用for语句计算阶乘(此为第二重循环),循坏过程为:循坏n次,循坏变量i从1开始,在小于等于n的情况下开始递增,每次递增需要计算。result *=i○5输出n及其对应的阶乘结果(5) 程序退出。为什么我运行的结果是这样?是n=0那里出错了吗?该怎么改正?
参考技术A 应该是1被 第一个 ch=getchar()吃掉了改成do while试试 参考技术B 可以 参考技术C 好 参考技术D 通 第5个回答 2017-11-29 你是南方学院的吧
以上是关于C语言求n个数的阶乘和,使用for语句循环,一定要用套嵌for语句吗?不用套嵌的单层for可以吗,的主要内容,如果未能解决你的问题,请参考以下文章