程序填空。分别用 for while do-while 语句编写一个 C 程序计算并输出数列 1,3,5,…,2n-1的前 n 项之和? C语言编程,分别用while语句、do-while语句、fo...

作者&投稿:游岸 (若有异议请与网页底部的电邮联系)

楼主 初学吧?

逻辑 有些不清


#include <stdio.h>
void main()
{    long s,n,i;
scanf("%d",&n);
s=0;
for(i=1;i<=n; i++ ) {
s += 2*i-1;
printf("%d %d
",i,s);
}
printf("1+3+…+2*%d-1=%d
",i-1,s);
}


不要 k 变量



(2)
i<=2*n-1
i+=2;
(3)
i+=2;
while ( i<=n*2-1 );

程序填空。分别用 for、while 和 do-while 语句编写一个 C 程序,计算并输出~

好长,
For 的一个ld,长整型输入用%ld,
第二个空填s=0;给s付初值,为后面的累加做准备
While一个空肯定是s=0;
第二个空有点麻烦,循环写了死循环没有出口,必须在空里挑出来,i++>n;break;
Do while 第一个空一样s=0;第二个也是ld;第三个i++>n;break;,


#include double exp1(int n) {double i,m = 1,ee = 1;for(i = 1; i < n; ++i) {m *= i;ee += 1.0/m;}return ee;}double exp2(int n) {double i = 1,m = 1,ee = 1;while(i < n) {m *= i;ee += 1.0/m;++i;}return ee;}double exp3(int n) {double i = 1,m = 1,ee = 1;do {m *= i;ee += 1.0/m;++i;}while(i < n);return ee;}int main() {int n;printf("n = ");scanf("%d",&n);printf("for: %lf
",exp1(n));printf("while(): %lf
",exp2(n));printf("do_while(): %lf
",exp3(n));return 0;}