C语言用for回圈算1!+2!+3!+4!+5! 我的程式为什么不对?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
C语言用for回圈算1!+2!+3!+4!+5! 我的程式为什么不对?
很明显s的值一直在变大,而不是你想要的求!1,!2,!3,!4,!5后再相加,每次计算的时候s的值都是在累乘的,所以最后的结果肯定会偏大。
#include int main(){ int i,j,sum=0,s=1; for(i=1;i<=5;i++) { s=1; 每次回圈前先让s的值为初始值 for(j=1;j<=i;j++) { s=s*j; } 这个回圈用来计算!n的值 sum=s+sum; 再把!n的值累加起来 } printf("%d\n",sum); return 0;}
更简便的方法
#include int main(){ int i,j,sum=0,s=1; for(i=1;i<=5;i++) { s=s*i; 每一次s再多乘一个i就可以了 sum=s+sum; } printf("%d\n",sum); 最后正确结果是153 return 0;}
c语言程式怎样用for回圈计算1 2 3 .... 100
1+2+3+...100 ?
int i, s;
for (i=1; i<=100; i++)
s=s+i;
printf("%d", s)
c语言 for回圈程式
main()
{
int m,n,k;
printf("m n k\n")
for(m=0;m<2;m++)
{
for(n=0;n<2;n++)
{
for(k=0;k<2;k++){printf("%d %d %d\n",m,n,k);}
}
}
}
你加上大括号看会清楚点,m是最外层回圈,首先m=0执行n回圈,n=0执行k回圈,把k=0,1,执行完后n++,再n=1,执行k=0,1;然后m++,m=1,执行,n=0,k=0,1;n=1,k=0,1;printf("%d %d %d\n",m,n,k);
c语言中1*2*3*4*5用for回圈怎么写
int i,sum=1;
for(i=1;i <=5;i++)
sum*=i;
C语言中的do-while程式为什么不回圈
你的运算第一次结果为645.883362,不满足回圈条件,当然不会回圈下去了
求C语言大神帮写个用for回圈求π值的程式
#include double getPi(int precision){ int i; double res = 1; for(i = 1; i <= precision; i++) { if(i % 2 != 0) res = res - (double)1 / (2 * i + 1); else res = res + (double)1 / (2 * i + 1); } return res;}void main(){ int precision; double result; scanf("%d", &precision); result = 4 * getPi(precision); printf("%f\n", result); 我用的是VS2008,以下部分为了方便看结果 getchar(); getchar();}
C语言回圈问题,为什么for回圈后i=2
for回圈的基本语法你应该看过的,再简单说下
第一个语句是回圈前执行的操作,一般是用来初始化计数器,这个语句只执行一次
第二个语句是回圈进行的条件,是一个判断表示式,如果为真回圈继续,否则退出回圈
第三个语句是每次回圈执行完毕,判断是否继续回圈之前执行,每回圈一次执行一次
下面看这个题的分析
i
进入回圈 0 i<=1为真,进入,第一次回圈
第一次回圈后 1 i<=1为真,第二次回圈
第二次回圈后 2 i<=1为假,退出
所以一共执行2次,i=2
以后可以用迭代法走查,然后有条件的话可以用编译器除错。不过最好不要过分依赖编译器,要有解决问题的能力,这样会好很多
求采纳为满意回答。
用C语言写一个如下的程式,用FOR回圈!
#include int main(void){ int i,n=10; long s=1; scanf("%d",&n);输入n值 for(i=1;i<=n;i++) s=s*i; printf("%d\n",s); return 0;}
c语言我的程式为什么是死回圈的啊
c语言我的程式为什么是死回圈的啊
悬赏分:30 - 离问题结束还有 14 天 23 小时
#include
main()
{
int i,n;
int ret;
while(1)
{
printf("请输入要查的值\n");
ret=scanf("%d",&n);
printf("ret=%d\n",ret);
if(ret!=0)
{
break;
}
printf("输入错误,请重新输入\n");
}
}
试试这样行么!
c语言:用for回圈编写程式,计算1+2+…+100的结果。
#include
int main(){
int i,s=0;
for (i=1;i<=100;i++) s=s+i;
printf("%d\n",s);
system("pause");
return 0;
}
输出 5050
--
1加到100的和 = (1+100) / 2 * 100 = 5050; 很容易手算得到结果 用来验证程式。
分页:
1
23