OJ《程序设计基础I 》实验4-for循环程序设计

一系列C语言编程练习,涉及加法、比较、求和、阶乘、乘法、数列求和、计算、阶乘、最大公约数与最小公倍数、素数判断、绝对值最大值、圆周率计算、卡片游戏、猜糖块、分数序列、分等级、平方数、菱形打印、水仙花数、余弦计算、完美素数、累加和、玉米掰呀掰、素数范围、九九乘法表、区域内点的个数等算法和逻辑操作。

4-1 A - A+B for Input-Output Practice (II)

#include <stdio.h>
int main()
{
    int n,a,b,i;
    scanf("%d",&n);
    for(i=0;i<n;i++)\\for 循环,最好从0开始,因为后面学到数组都是从0开始。
    {
        scanf("%d %d",&a,&b);
        printf("%d\n",a+b);
    }
    return 0;
}

4-2 B - C语言实验——两个数比较

#include <stdio.h>
int main()
{
    int n,a,b,i;
    scanf("%d",&n);
    for(i=0; i<n; i++)
    {
        scanf("%d %d",&a,&b);
        if(a>=b)
            printf("%d\n",a);
        else printf("%d\n",b);
    }
    return 0;
}

4-3 C - C语言实验——计算1到n的和(循环结构)

#include <stdio.h>
int main()
{
    int n,sum=0;
    scanf("%d",&n);
    for(int i=n;i>0;i--)//写前面实验的时候有个一样的题,用while循环,但是本实验学的for,咱们就用for来写。
    {
        sum=sum+i;
    }
    printf("%d",sum);
    return 0;
}

4-4 D - C语言实验——求阶乘(循环结构)

#include <stdio.h>
int main()
{
    int n,mul=1,i;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        mul=mul*i;
    }
    printf("%d",mul);
    return 0;
}

4-5 E - 做乘法

#include <stdio.h>
int main()
{
    int n,i;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        printf("%d*%d=%d\n",n,i,n*i);
    }
    return 0;
}

4-6 F - 数列求和

#include <stdio.h>
int main()
{
    int a,b,i,sum=0,d;
    scanf("%d\n%d",&a,&b);
    d=a;
    for(i=1;i<=b;i++)
    {
       sum=sum+a;
       a=a*10+d;
    }
    printf("%d",sum);
    return 0;
}

4-7 G - 简单计算

#include<stdio.h>
int main()
{
    int m,n,i,max,min,ave,sum=0;
    scanf("%d\n%d",&n,&m);
    max=m;
    min=m;
    sum=m;
    for(i=1; i<n; i++)
    {
        scanf("%d",&m);
        if(m>max)
            max=m;
        if(m<min)
            min=m;
        sum=sum+m;
    }
    ave=sum/n;
    printf("%d %d %d",max,min,ave);
    return 0;
}

4-8 H - C/C++训练1---最大公约数与最小公倍数

#include<stdio.h>
int main()
{
    int n,m,i,e,max,min,x,y;
    scanf("%d %d",&n,&m);
    if(n>m)
    {
        max=n;
        min=m;
    }
    else
    {
        max=m;
        min=n;
    }
    for(i=1;i<=min;i++)
    {
        if(n%i==0&&m%i==0)
            x=i;
    }
    for(e=m*n;e>=max;e--)
    {
        if(e%n==0&&e%m==0)
            y=e;
    }
    printf("%d\n%d",x,y);
    return 0;
}

4-9 I - C语言实验——判断素数(循环结构)

#include<stdio.h>
int main()
{
    int n,i,flag=1;
    scanf("%d",&n);
    if(n==1)
        printf("This is not a prime.");
    else
    {
        for(i=2; i<n; i++)
        {
            if(n%i==0)
            {
                flag=0;
            }
        }
    }
    if(flag==0)printf("This is not a prime.");
    else if(flag==1&&n!=1) printf("This is a prime.");
    return 0;
}

4-10 J - 求绝对值最大值

#include<stdio.h>
int main()
{
    int n,i,m,max;
    scanf("%d\n%d",&n,&m);
    max=m;
    for(i=1;i<n;i++)
    {
        scanf("%d",&m);
        if(fabs(m)>fabs(max))
            max=m;
    }
    printf("%d",max);
    return 0;
}

4-11 K - C语言实验——圆周率

#include <stdio.h>
int main()
{
    int n,i;
    double sum=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        sum=sum+(1.0/(4.0*i-3.0))-(1.0/(4.0*i-1.0));
    }
    printf("%.5lf",sum*4.0);
    return 0;
}

4-12 L - 小鑫の日常系列故事(五)——卡片游戏

#include <stdio.h>
int main()
{
    int n,m,i,g=0,l=0;
    scanf("%d",&n);
    for(i=1; i<=n; i++)
    {
        scanf("%d",&m);
        if(i%2==0)
            l=l+m;
        else g=g+m;
    }
    if(l>g)
    {
        printf("Less than");
    }
    if(l<g)
    {
        printf("Greater than");
    }
    if(l==g)
    {
        printf("Equal");
    }
    return 0;
}

4-13 M - 猜糖块

#include<stdio.h>
int main()
{
    int n,i;
    scanf("%d",&n);
    for(i=1;n>0;i++)
    {
        if(n>=i*i)
            n=n-i*i;
        else break;
    }
    printf("%d",i-1);
    return 0;

}

4-14 N - C语言实验——分数序列

#include <stdio.h>
int main()
{
    int n,i,t;
    double sum=0.0,a=1.0,b=2.0;
    scanf("%d",&n);
    for(i=1; i<=n; i++)
    {
        sum=sum+b/a;
        t=b;
        b=b+a;
        a=t;
    }
    printf("%.6lf\n",sum);
    return 0;
}

4-15 O - 期末考试之分等级

#include <stdio.h>
int main()
{
    int n,i,t,a=0,b=0,c=0,d=0,e=0;
    scanf("%d",&n);
    for(i=1; i<=n; i++)
    {
        scanf("%d",&t);
        if(t>=90)
            a++;
        if(t>=80&&t<90)
            b++;
        if(t>=70&&t<80)
            c++;
        if(t>=60&&t<70)
            d++;
        if(t<60)
            e++;
    }
    printf("A %d\nB %d\nC %d\nD %d\nE %d\n",a,b,c,d,e);
    return 0;
}

4-16 P - 平方数

#include<stdio.h>
int main()
{
    int N,n,m,i,j,k,t,sum;
    scanf("%d",&N);
    for(i=1;i<=N;i++)
    {
        sum=0;
        scanf("%d %d",&m,&n);
        if(m<n)
        {
            t=m;
            m=n;
            n=t;
        }
        for(j=n;j<=m;j++)
        {
            for(k=1;k<=j;k++)
            {
                if(k*k==j)
                    sum=sum+j;
            }
        }
        printf("%d\n",sum);

    }
    return 0;
}

4-17 Q - C语言实验——打印菱形

#include <stdio.h>
int main()
{
    int n,i,a;
    scanf("%d",&n);
    for(i=1; i<=n; i++)
    {
        for(a=1; a<=n-i; a++)
        {
            printf(" ");//打印每一行的空格,自己计算一下更形象。
        }
        for(a=1; a<=2*i-1; a++)
        {
            printf("*");//打印每一行的星号,同样自己算一下会更好。
        }
        printf("\n");
    }
    for(i=n-1;i>0;i--)//打印下半部分
    {
        for(a=1;a<=n-i;a++)
        {
            printf(" ");
        }
        for(a=1;a<=2*i-1;a++)
        {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}//这个好玩,但是有些难理解

4-18 R - 水仙花数

#include <stdio.h>
int main()
{
    int n,i,a,b,t,f,c,d,e,x[100];
    while(scanf("%d %d",&a,&b)!=EOF)
    {
        f=0;
        if(a>b)
        {
            t=a;
            a=b;
            b=t;
        }
        for(i=a; i<=b; i++)
        {
            c=i%10;
            d=i/10%10;
            e=i/100;
            if(c*c*c+d*d*d+e*e*e==i)
            {
                x[f]=i;
                f++;
            }
        }
        if(f==0)
            printf("no\n");
        else
        {
            for(i=0; i<f; i++)
            {
                if(i==f-1)
                    printf("%d\n",x[i]);
                else printf("%d ",x[i]);
            }
        }
    }
    return 0;
}

4-19 S - C语言实验——余弦

#include<stdio.h>
int main()
{
    int n,i;
    double x;
    while(scanf("%lf %d",&x,&n)!=EOF)
    {
        double k=1.0,flag=1.0,ans=0.0;
        for(i=0;i<=n;i++)
        {
            if(i!=0)
            {
                k=k*(x*x)*1.0/((2*i)*(2*i-1));
            }
            ans=ans+(k*flag);
            flag=-flag;
        }
        printf("%.4lf\n",ans);
    }
    return 0;
}

4-20 T - 完美的素数

#include<stdio.h>
int main()
{
    int a,b,i,sum,a1,a2,a3,a4,a5,a6,j,f,t;
    while(scanf("%d",&a)!=EOF)
    {
        f=1;
        t=1;
        a1=a%10;
        a2=a/10%10;
        a3=a/100%10;
        a4=a/1000%10;
        a5=a/10000%10;
        a6=a/100000%10;
        sum=a1+a2+a3+a4+a5+a6;
        for(i=2;i<=a-1;i++)
            if(a%i==0)
                t++;
            if(f==1)
        {
            for(j=2;j<=sum-1;j++)
                if(sum%j==0)
                t++;
        }
        if(f==1&&t==1)
            printf("YES\n");
        else printf("NO\n");
    }
    return 0;
}

4-21 U - A+B for Input-Output Practice (IV)

#include<stdio.h>
int main()
{
    int n,i,a,sum;
    while(scanf("%d",&n)!=EOF)
    {
        sum=0;
        if(n!=0)
        {
            for(i=1; i<=n; i++)
            {
                scanf("%d",&a);
                sum=sum+a;
            }
            printf("%d\n",sum);
        }
        else break;
    }
    return 0;
}

4-22 V - 小金掰呀掰不够玉米

#include<stdio.h>
int main()
{
    int n,m,i,j,sum1,sum2;
    while(scanf("%d %d",&n,&m)!=EOF)
    {
        sum1=0;
        sum2=0;
        for(i=1; i<=n; i++)
            sum1=sum1+i;
        for(j=1; j<=m; j++)
            sum2=sum2+j;
        printf("%d\n",sum1-sum2);
    }
    return 0;
}

4-23 W - C/C++练习7---求某个范围内的所有素数

#include<stdio.h>
int main()
{
    int n,i,t,a=0;
    scanf("%d",&n);
    if(n==2)
        {
            printf("%d ",n);
            a++;
        }
    else
    {
        for(i=2;i<n;i++)
            {
                for(t=2;t<i;t++)
                {
                    if(i%t==0)
                    {
                        break;
                    }
                    }
                    if(i==t)
                        {
                            printf("%d ",i);
                            a++;
                            if(a%10==0)
                                {
                                    printf("\n");
                                }
                                }
        }
    }
    return 0;
}//有啥不懂的评论区见吧,不太好写。

4-24 X - 九九乘法表

#include<stdio.h>
int main()
{
    int n,i,j;
    while(scanf("%d",&n)!=EOF)
    {
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=i;j++)
            printf("%d*%d=%d ",j,i,i*j);
            printf("\n");
            }
    }
            return 0;
}

4-25 Y - 区域内点的个数

#include<stdio.h>
int main()
{
    int n,a,b,c,d,e,f,g,i;
    while(scanf("%d\n",&n)!=EOF)
    {
        g=0;
        scanf("%d %d\n",&a,&b);
        scanf("%d %d\n",&c,&d);
        for(i=1;i<=n;i++)
        {
            scanf("%d %d\n",&e,&f);
            if(e>a&&f>b&&e<c&&f<d)
                g++;
        }
        printf("%d\n",g);
    }
    return 0;
}

加油加油加油!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CRAEN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值