循环机构的简单例题

循环结构的简单例题

  • 1.求两个数的最大公约数和最小公倍数

    include<stdio.h>

    int main()
    {
    int m,n,a,b,r=1,t,s;
    scanf("%d%d",&m,&n);
    a=m;
    b=n;
    if(m<n)
    {
    t=m;
    m=n;
    n=t;
    }
    while(r!=0)
    {
    r=m%n;
    m=n;
    n=r;
    }
    printf("%d",m);
    s=a*b/m;
    printf("%d",s);
    return 0;
    }

  • 2.用函数求两个数的最大公数

    include<stdio.h>

    int Gys(int m,int n)
    {
    int t,r=1;
    if(m<n)
    {
    t=m;
    m=n;
    n=t;
    }
    while(r!=0)
    {
    r=m%n;
    m=n;
    n=r;
    }
    return m;
    }
    int main()
    {
    int m,n;
    scanf("%d%d",&m,&n);
    int Gys(int,int);
    m=Gys(m,n);
    printf("%d",m);
    return 0;
    }

  • 3.输出100~200的素数

    include<stdio.h>

    int main()
    {
    int i,j;
    for(i=100;i<=200;i++)
    {
    for(j=2;j<i;j++)
    {
    if(i%j0)
    {
    break;
    }
    else if(j
    i-1)
    {
    printf("%d\n",i);
    }
    }
    }
    return 0;
    }

  • 4.输出九九乘法表

    include<stdio.h>

    void cfb()
    {
    int m,i;
    for(i=1;i<=9;i++)
    {
    for(m=1;m<=i;m++)
    {
    printf("%d%d=%d\t",i,m,im);
    }
    }
    }
    int main()
    {
    void cfb();
    cfb();
    return 0;
    }

  • 5.求自然数阶乘之和(n在1~20之间)

    include<stdio.h>

    int main()
    {
    int n=1,i,sum=0;
    for(i=1;i<=20;i++)
    {
    n=n*i;
    sum=sum+n;
    }
    printf("%d",sum);
    return 0;
    }

  • 6.输出1n(n在1001000之间)之间被7整除的数的和

    include<stdio.h>

    int main()
    {
    int n,i,sum=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
    if(i%7==0)
    {
    sum=sum+i;
    }
    }
    printf("%d",sum);
    return 0;
    }

  • 7.输出100到n(100~999)的水仙花个数,若水仙花数不为零,则先输水仙花数(水仙花数为三位数,各数字立方和和这个三位数相同)

    include<stdio.h>

    int main()
    {
    int i,n,b,g,s,a=0;
    scanf("%d",&n);
    for(i=100;i<=n;i++)
    {
    b=i/100;
    s=(i%100)/10;
    g=i%10;
    if(i==bbb+sss+ggg)
    {
    printf("%d\n",i);
    a++;
    }
    }
    printf("%d",a);
    return 0;
    }

  • 8.输出1到n的完数(一个数恰好等于它的因子之和)

    include<stdio.h>

    int main()
    {
    int i,n,y,sum=0;
    scanf("%d",&n);
    for(i=1;i<n;i++)
    {
    for(y=1;y<i;y++)
    {
    if(i%y0)
    {
    sum=sum+y;
    }
    }
    if(sum
    i)
    {
    printf("%d",i);
    }
    sum=0;
    }
    }

  • 9..编写程序,输入正整数m(100到10000之间),使得等差数列1,2,3,4,5,6···的前n项和小于m,前n+1项和大于m,输出n;

    include<stdio.h>

    int main()
    {
    int m,i,sum=0;
    scanf("%d",&m);
    for(i=1;;i++)
    {
    sum=sum+i;
    if(sum>m)
    {
    printf("%d",i-1);
    break;
    }
    }
    return 0;
    }

  • 10.编写程序,它的功能是:一个球从n米(n为大于10的正数,程序运行时由键盘输入)高度自由落下,
    每次落地后反弹回原来高度的三分之一,再落下,再反弹,计算并输出它在第10次落地时,共经过多少
    米?(计算结果的小数部分保留两位小数)

    include<stdio.h>

    int main()
    {
    int i;
    float n,sum=0.0;
    scanf("%f",&n);
    float t=n;
    for(i=1;i<=10;i++)
    {
    sum=sum+2n;
    n=n
    (1.0/3);
    }
    sum=sum-t;
    printf("%.2f",sum);
    return 0;
    }

  • 11.冒泡排序法

    include<stdio.h>

    int main()
    {
    int a[10],i,j,t;
    for(i=0;i<10;i++)
    {
    scanf("%d",&a[i]);
    }
    for(j=9;j>0;j--)
    {
    for(i=0;i<j;i++)
    {
    if(a[i]>a[i+1])
    {
    t=a[i];
    a[i]=a[i+1];
    a[i+1]=t;
    }
    }
    }
    for (i = 0; i < 10; i++)
    {
    printf("%d", a[i]);
    }
    return 0;
    }

posted @ 2021-03-02 10:52  菇凉何人  阅读(152)  评论(0)    收藏  举报