#include <stdioh>
int main()
{
double a,b,c;
int i,n;
a=1,b=1,c=1;
scanf("%d",&n);
for(i = 2; i<=n; i ++)
{
c=2a/(b+2);
a=b;
b=c;
}
printf("a%d = %104lf\n", c);
return 0;
}
楼上的回答还真是搞得我一头雾水。。。真的是看不懂说的什么。(“就是你上边的i=1的部分”)。。都不知道上边哪去找i=1?我也说说对for的个人看法吧:先说说用伪代码表示for形式:for(initialize;test;update)statement这个形式我想你也看得懂吧!在这给你翻译下:你也看到了他的形式。 for(这里面是用分号分开的三个控制表达式。)initialize表达式只在循环语句执行前执行一次。然后是对test表达式求值。如果test的值为真就循环就执行一次。然后计算update。计算update后再一次检查test表达式。如果为真就再一次执行循环。真到test条件表达式为假。也就是为0。循环结束。statement也就是循环执行的语句。他可以是简单语句也可以是复合语句。不知道这样我说得明不明白。还有点值得说明:for是个入口条件循环。所以for有可能一次循环也不执行。最后就对楼上给出的回答做个简单的for。for (i=1;i<8;i++)printf ("Game Oever");当i大于或等于8时。循环结束。否则执行printf语句
一、1——100所有数和
#include<stdioh>
main()
{
int i=0,sum=0;
for(i=1;i<=100;i++)
sum=sum+i;
printf("%d\n",sum);
}
二、100以内奇数和和偶数和
#include<stdioh>
main()
{
int i=0,odd=0,even=0; /odd是奇数,even是偶数/
for(i=1;i<=99;i+=2)
{
odd=odd+i;
even=even+i+1;
}
printf("%d,%d\n",odd,even);
}
二、打印1000以内的水仙花数
#include<stdioh>
main()
{
int i,j,k,n;
printf("'water flower'number is:");
for(n=100;n<1000;n++)
{
i=n/100;
j=(n-i100)/10;
k=n%10;
if(iii+jjj+kkk==n)
printf("%d\n",n);
}
}
四、TC运行出
(这中间是不是少了一行三个星的?所以一下分两种答案)
//有三个星的情况
#include<stdioh>
main()
{
char a='';
int i=0,j=0;
for(i=1;i<=6;i++)
{
for(j=1;j<=i;j++)
{
printf("%c",a);
}
printf("\n");
}
}
//没有三个星的情况
#include<stdioh>
main()
{
char a='';
int i=0,j=0;
for(i=1;i<=2;i++) /打印第一二行/
{
for(j=1;j<=i;j++)
{
printf("%c",a);
}
printf("\n");
}
for(i=4;i<=6;i++)/打印第三四五行/
{
for(j=1;j<=i;j++)
{
printf("%c",a);
}
printf("\n");
}
}
五、用打印出菱形
#include<stdioh>
#include<mathh>
main()
{
int i=0;j=0;
int wholeline=0;/需要输入要打印几行的菱形,因此,这个数必须是奇数/
int midline=0;/菱形的中间行/
printf("输入菱形行数,必须为奇数:");
scanf("%d",&wholeline);
if(wholeline/2==0) (printf("错了\n");return 0;)
midline=(wholeline+1)/2;
for(i=1;i<=wholeline;i++)
{
for(j=1;j<=abs(midline-i);j++)
printf(" ");/打印空格,注意,引号之间有个空格/
for(j=1;j<( (midline-i)>=0(i2-1):((midline2-i)2-1) );j++)
printf("");/打印星号/
printf("\n");
}
}
六、运行出
1
121
12321
1234321
123454321
#include<stdioh>
main()
{
int i=0,j=0;
for(i=1;i<=5;i++)
{
for(j=1;j<=5-i;j++)
printf(" ");/打印空格,注意,引号之间有个空格/
for(j=1;j<=i;j++) printf("%d",j);
for(j=j-2;j>0;j--) printf("%d",j);
printf("\n");
}
}
不用数组,不用函数,用纯c编程,累死我了,我只是口头编,没调试过(手头没有编译环境),可能会出现错误哈,勿怪
首先进入第一个for
你要记住,for语句中第一个语句只执行一次,最后一个参数是把大括号内中的所有语句执行完后才执行的。那就是第一个for执行了2次,
而看在问答,是求s的结果,s只和j有直接关系,而就可以放弃第一个for循环中的循环次数了,以为s=1,每次都把s重置了,而j的初始化,只和第一个for最后一个k有关,所以:所以,真正求值,就是在k<6的最后一次,也就是k=4的时候。
然后j=k=4,s=s+j,重复2次,
第一次:s=1+4(j)=5,
第二次:s=5+5(j)=5,
所以,5+5=10
最灵活,最简单,最好理解的一个循环用法
for(表达式1;表达式2;表达式3)
{循环体}
这三个表达式,可以都有,也可以都没有,也可以由任意的一项或两项,这就是for的灵活性所在
解释一下三个表达式的含义
表达式1,这个一般是初始化条件,如i=1。在第一个分号之前,可以用一个,也可以好几个,用逗号隔开
表达式2,这个事循环条件,满足就继续执行循环体,不满足就跳出循环。这里一般是个逻辑判断语句。
表达式3,这个一般是改变循环条件的地方,如i++。
执行顺序是,先初始化,也就是运算表达式1,初始化完成后,这个表达式就没有用处了。
接着判断是否满足循环条件,也就是运算表达式2,如果是真,就执行循环体。
最后,运算表达式3,改变循环条件。这样第一次循环完成。
接着第二次循环,也就是运算表达式2,看是否满足循环条件,如果表达式2还满足(也就是真),接着执行循环体。完成后运算表达式3,。
如此往复循环,直到不满足表达式2后,跳出循环
这里值得注意的是,举例说一下吧
如for(i=0;i<10;i++)这个运算,当i=9的时候,满足循环,执行完后,i还会自加1,也就是i++,这样i的值是10,在判断i<10,
所以当不满足循环条件的时候,最后i的值是10,而不是9
以上就是关于C语言 使用for来做程序全部的内容,包括:C语言 使用for来做程序、C语言中,for语句的用法、C语言for语句等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)