TypechoJoeTheme

阿尔法色色之屋

【伊伊萌】计算机二级练习留档

本文最后更新于2023年08月25日。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
为了有更好的阅读体验,阿尔法色色之屋为长篇文章提供了目录树,若没有正常显示,则需要手动缩小页面比例。

前言:之前做算法复建时写的,写道比较拉,黑历史.....

具体题目信息在网站上,懒得拷贝了

https://www.dotcpp.com/oj/train/1002/

no1平均值计算

// no1-average.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <stdio.h>
int main()
{
   
    int a[9], sum = 0,b=0;
    for (int i = 0; i < 10; i++)

    {
        scanf("%d", &a[i]);
        sum += a[i];
    }
    float ave = sum / 10;
    for (int i = 0; i < 10; i++)
        if (a[i] > ave)
        {
            b++;
        }
    printf("%d", b);


}


no2计算素数和

#include<stdio.h>
#include<math.h>

bool isprime(int x)
{
    
    if (x<=3)
    {
        return x > 1;
    }
    if (x%6!=1&&x%6!=5)
    {
        return false;
    }

    for (int i = 5; i <=sqrt(x) ; i+=6)
    {
        if (x%i==0||x%(i+2)==0)
        {
            return false;
        }
    }
    return true;
}

int main(){
    int n, m,ans=0;
    scanf("%d%d",&m,&n);

    for (int i = m; i <=n; i++)
    {
        if (isprime(i))
            ans += i;
        
    }
    printf("%d",ans);
    return 0;
}

no3公约公倍

#include<stdio.h>
#pragma warning (disable: 4996)

int f(int min, int max)
{
    if (max%min==0)
    {
        return min;
    }
    else
    {
        f(max % min, min);
    }
}

int main()
{
    int m, n;
    int max, min;
    int a, b;
    scanf("%d%d", &m, &n);
    if (m>n)
    {
        max = m;
        min = n;
    }
    else
    {
        max = n;
        min = m;
    }
    a=f(min, max);
    b = max * min / a;
    printf("%d\n%d",a,b);

    return 0;
}

no4温度转换

#include<stdio.h>


int main()
{
    float a, b;
    scanf("%f", &a);
    b = 5 * (a - 32)/9;
    printf("%.2f",b);



    return 0;
}

no5分段函数

#include<stdio.h>


int main()
{
    float  x,y;
    scanf("%f", &x);
    if (x<1)
    {
        y = x;
    }
    else if (x<10)
    {
        y = 2 * x - 1;
    }
    else
    {
        y = 3 * x - 11;
    }
    printf("%.2f", y);
    return 0;
}

no6求偶数和

#include<stdio.h>

int main()
{
    int n, sum = 0,a;
    scanf("%d", &n);
    for (int i = 0; i < n; i++)
    {
        scanf("%d", &a);
        if (a%2==0)
        {
            sum += a;
        }

    }
    printf("%d", sum);
    return 0;

}

no7等差数列

#include<stdio.h>

int main()
{
    int n,sum;
    scanf("%d", &n);
    sum = (n * 2 + n * (n - 1) / 2 * 3);
    printf("%d", sum);

    return 0;
}

no8同因查找

#include<stdio.h>


int main()
{
    for (int i = 10; i <=1000 ; i++)
    {
        if (i % (2*3*7) == 0)
        {
            printf("%d\n", i);

        }
    }

    return 0;
}

no9计负均正

#include<stdio.h>

int main()
{
    int a[20], sum = 0, count = 0; double average = 0;
    for (int i = 0; i < 20; i++)
    {
        scanf("%d", &a[i]);
        if (a[i]<0)
        {
             count++;
        }
        else
        {
            sum += a[i];

        }
    }
    average = (double)sum / (20-count);
    printf("%d \n%.2f", count, average);
}

no10公约公倍

#include<stdio.h>
#pragma warning (disable: 4996)

int f(int min, int max)
{
    if (max%min==0)
    {
        return min;
    }
    else
    {
        f(max % min, min);
    }
}

int main()
{
    int m, n;
    int max, min;
    int a, b;
    scanf("%d%d", &m, &n);
    if (m>n)
    {
        max = m;
        min = n;
    }
    else
    {
        max = n;
        min = m;
    }
    a=f(min, max);
    b = max * min / a;
    printf("%d\n%d",a,b);

    return 0;
}

no11统计字符

#include<stdio.h>

int main()
{
    char c;
    int letter = 0, num = 0, space = 0, other = 0;
    while ((c = getchar()) != '\n')
    {
        if (c >= 'a' && c <= 'x') 
        {
            letter++;
        }
        else if (c>='0'&&c<='9')
        {
            num++;
        }
        else if (c==' ')
        {
            space++;

        }
        else
        {
            other++;
        }
    }
    printf("%d\n%d\n%d\n%d", letter, space, num, other);
    return 0;
}

no12阶乘数列

#include<stdio.h>
int main()
{
     int n;
     scanf("%d",&n);


     long int j=1, sum=0;
    for (int i = 1; i <= n; i++)
    {
        j = j * i;//j为前i-1个数的阶层 i阶层=(i-1)*i
        sum += j;
        
    }
    printf("%ld", sum);
    return 0;
}

no13最小绝对值

#include<stdio.h>
#include<math.h>

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

    return 0;
}

no14自定义函数

#include<stdio.h>


double mypow(double x, int n)
{
    double a = 1;
    for (int i = 0; i < n; i++)
    {
        a *= x;
    }
    return a;
}

double fact(int n)
{
    double a2 = 1;
    for (int i = 1; i <= n; i++)
    {
        a2 *= i;
    }
    return a2;

}


int main()
{
    double x;
    int n;
    double ans = 0;
    scanf("%lf%d", &x, &n);

    for (int i = 1; i <= n; i++)
    {
        ans += mypow(-1, i - 1) * mypow(x, i) / fact(i);
    }
    printf("%.4lf",ans );
    return 0;

}

no15分段函数

#include<stdio.h>
#include<math.h>

int main()
{
    double x,y;
    scanf("%lf",&x);
    if (x<0)
    {
        y = fabs(x);
    }
    else if (x<2)
    {
        y=pow((x + 1), 0.5);
    }
    else if (x<4)
    {
        y=pow((x+2),5);
    }
    else
    {
        y = 2 * x + 5;
    }
    printf("%.2lf", y);
    return 0;
}

no16温度转换

#include<stdio.h>



int ctof(int c)
{
    int a = (32 + (9 * c/5));
    return a;
}

int main()
{
    for (int i = -100; i <= 150; i+=5)
    {
        printf("c=%d->f=%d\n",i,ctof(i));
    }

    return 0;
}

no17寻找矩阵最值


#include <stdio.h>


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

no18成绩归类

#include<stdio.h>

int main()
{
    int a=0, b=0, c=0;
    int n;
    do{
        scanf("%d",&n);
        
        if (0 < n && n < 60)
        {
            c++;
        }
        else if (0 < n && n<85)
        {
            b++;
        }
        else if (n>=85)
        {
            a++;

        }

    } while (n > 0);
    printf(">=85:%d\n",a);
    printf("60-84:%d\n",b);
    printf("<60:%d",c);



    return 0;
}

no19阶乘公式求职

#include<stdio.h>


double fact(int k)
{
    double j = 1;
    for (int i= 1; i<=k; i++)
    {
        j *= i; ////j为前i-1个数的阶层. i阶层=(i-1)*i
    }
    return j;
}

int main()
{
    int n;
    double sum = 0;
    scanf("%d", &n);
    for (int i = 1; i <= n; i++)
    {
        sum+=(1.0 / fact(i));

    }
    printf("sum=%.5lf",sum);

    return 0;

}
赞(0)

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月

标签云