for循环实例
这些都是我在学习for循环式做的习题,有兴趣的童鞋可以玩一下(本来以为循环才是重点可惜尼玛考试没考啊,坑爹啊)
1.打出如下图形:
1
123
12345
1234567
123456789
1234567
12345
123
1
#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");
}
}
}