首页 > 代码库 > for循环实例

for循环实例

这些都是我在学习for循环式做的习题,有兴趣的童鞋可以玩一下(本来以为循环才是重点可惜尼玛考试没考啊,坑爹啊)

1.打出如下图形:<!--[if !vml]-->

           1

         123

       12345

     1234567

   123456789

     1234567

       12345

        123

          1

<!--[endif]-->

#include <stdio.h>
int main(void){
int i,j,n=1;
for (i=1;i<=4;i++){
for (j=1;j<=4-i;j++){
printf(" ");
}
for (j=1;j<=2*i-1;j++){
printf("%d",j);
}
printf("\n");
}
for (i=1;i<=3;i++){
for (j=1;j<=i;j++){
printf(" ");
}
for (j=1;j<=7-2*i;j++){
printf("%d",j);
}
printf("\n");
}
}

2.打出如下图形:

       1

         121

       12321

     1234321

   123454321

     1234321

       12321

        121

          1

#include <stdio.h>
int main(void){
int i,j;
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=i-1;j>0;j--){
printf("%d",j);
}
printf("\n");
}
for (i=1;i<=4;i++){
for (j=1;j<=i;j++){
printf(" ");
}
for (j=1;j<=5-i;j++){
printf("%d",j);
}
for (j=4-i;j>0;j--){
printf("%d",j);
}
printf("\n");
}
}

3. 输入任意n个数,输出其中最大数和最小数,并输出它们在序列中

的位置。

#include <stdio.h>

int main(void){

int n,x,max,min,i;
printf("决定输入的数字个数:\n");
scanf("%d",&n);
printf("输入第一个数:\n");
scanf("%d",&x);
max=x;
min=x;
for(i=2;i<=n;i++){
printf("请继续输入第%d个数:\n",i);
scanf("%d",&x);
if(max<x){
max=x;
}
if(min>x){
min=x;
}
}
printf("max=%d,min=%d",max,min);

}

4.请编程序打印出以下数列:1、1、2、3、5、8、13、…的前40项。每行输出4个数。(斐波那契数列)

#include<stdio.h>

void main()

{int i; long f1=1,f2=1,f; 

 printf("%12ld%12ld",f1,f2);

 for(i=3;i<=40;i++)

   {f=f1+f2;

printf("%12ld",f);

if(i%4==0) printf("\n");

    f1=f2;f2=f;

   }

 printf("\n");

}

5.找出1000之内的所有完数,一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。输出时按下面的格式输出其因子:   6  its  factors  are  1,2,3。

#include<stdio.h>

void main()

{int i,n,s;

 for(n=2;n<1000;n++)

   {s=0;

    for(i=1;i<n;i++)

      if(n%i==0) s=s+i;

    if(s==n)

      {printf("%d,its factors are:",n);

       for(i=1;i<n;i++)

          if(n%i==0)  printf("%d,",i);

       printf("\n");

      }

   }

}