牛客网初阶练习(8)

x33g5p2x  于2022-02-11 转载在 其他  
字(1.0k)|赞(0)|评价(0)|浏览(73)

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");
    }
}

相关文章

微信公众号

最新文章

更多