牛客网初阶练习(9)

目录

1、筛选法求素数

2、包含数字9的数

3、有序序列判断


1、筛选法求素数

 代码:

#include<stdio.h>
#include<malloc.h>
int main()
{
    //存储数字
    int n = 0;
    while (scanf("%d", &n) != EOF)
    {
        int *p = (int *)malloc(sizeof(int)*n);
        for(int i = 0;i<n;i++)
        {
            p[i] = i+1;
        }
        //前面的i为列举的除数
        for(int i = 2;i<n;i++)
        {
            for(int j = i;j<n;j++)
            {
                if(p[j]%i==0)
                {
                    p[j] = 0;
                }
            }
        }
        int count = 0;
        for (int i = 1; i < n; i++)
        {
            if (p[i] != 0)
            {
                printf("%d ", p[i]);
            }
            else
            {
                count++;
            }
        }
        printf("\n%d",count);
    }
    return 0;
}

2、包含数字9的数

代码:

要充分考虑包含数字9的数,包含数字9的数是指某一位是9的数!

#include<stdio.h>
int main()
{
    int i = 0;
    int count = 0;
    for(i = 1;i<2020;i++)
    {
        int m = i;
        while(m)
        {
            if(m%10==9)
            {
                count++;
                break;
            }
            m/=10;
        }
    }
    printf("%d",count);
    return 0;
}

3、有序序列判断

代码:

#include<stdio.h>
int main()
{
    int n = 0;
    scanf("%d",&n);
    int arr[50]= {0};
    int flag1=0;//升序
    int flag2=0;//降序
    for(int i = 0;i<n;i++)
    {
        scanf("%d",&arr[i]);
        if(i>0)
        {
            if(arr[i]>arr[i-1])
                flag1 = 1;
            else
                flag2 = 1;
        }
    }
    if((flag1+flag2)==1)
    {
        printf("sorted\n");
    }
    else
    {
        printf("unsorted\n");
    }
}

猜你喜欢

转载自blog.csdn.net/m0_57304511/article/details/122886651