随机练习题:浅浅固定思路

发布于:2023-01-04 ⋅ 阅读:(225) ⋅ 点赞:(0)

 1.牛牛的10类人

2. 牛牛的四叶玫瑰数

 3.牛牛的替换

 4.牛牛的素数判断

笔者开头感想,如今大部分高校已经开学,当然笔者也不列外!但是由于疫情的原因,笔者被迫在家上网课学习!一脸忧愁,而这恰恰给了笔者自学的机会!相信笔者会加油滴!按照时间的步伐来追寻科班的脚步!C语言练习题集册见!

 1.牛牛的10类人

 

描述

世界上有10类人,1类是懂二进制的,另一类的不懂二进制的。牛牛是第10种人,因此他是懂二进制的。

牛牛把二进制数分成两种,一种是 1 的数量是偶数的,牛牛称之为 1 数,一种是 0 的数量是偶数的,牛牛称之为 0 数,如果一个数同时是 1 数和 0 数,那称之为 10 数。

输入描述:

第一行输入一个正整数 n 表示数的个数

第二行输入 n 个正整数,表示每个输入的数字    

输出描述:

输出一行,对每个数字进行分类,即输出 0 或 1 或 10,如果既不是 0 类也不是 1 类则输出 100

示例1

输入:

2
1 10

输出:

0 10
int main() {
    int n;
    scanf("%d", &n);
    int m[n];
    for (int i = 0; i < n; i++) {
        int o = 0, l = 0;
        scanf("%d ", &m[i]);
        int val = m[i];
        while (val) {
            if (val % 2 == 1) l++;
            else o++;
            val /= 2;
        }
        if (l % 2 == 0 && o % 2 != 0) printf("1 ");
        else if (l % 2 != 0 && o % 2 == 0) printf("0 ");
        else if (l % 2 == 0 && o % 2 == 0) printf("10 ");
        else printf("100 ");
    }
    return 0;
}

 2. 牛牛的四叶玫瑰数

 

描述

牛牛最近学了水仙花数,但是他并不喜欢水仙花,因此他准备算出 [l,r] 区间内的四叶玫瑰数。

四叶玫瑰数:一个数的四个位置的数字的四次方加起来等于这个四位数本身的数。

输入描述:

第一行输入两个正整数,表示闭区间的两头 

输出描述:

输出区间内的四叶玫瑰数,保证至少有一个

示例1

输入:

1 2000

输出:

1 1634
#include<math.h>
int main() {
    int l, r;
    scanf("%d %d", &l, &r);
    for (int i = l; i <= r; i++) {
        int val = i, temp = 0;
        while (val) {
            temp += pow(val % 10, 4);
            val /= 10;
        }
        if (temp == i) printf("%d ", i);
    }
    return 0;
}

 3.牛牛的替换

 

描述

牛牛有一个长度为 n 的字符数组,他尝试把字符数组中其中一些字符替换成另一些字符。

输入描述:

第一行输入一个正整数 n 表示字符数组的长度,四个个字符分别 a1 和 a2 , a3 和 a4,表示把字符数组中 a1 全部替换成 a2,然后把 a3 全部替换成 a4(包括a1替换后产生的a2等于a3的情况)

第二行输入一个长度为 n 的字符数组。

输出描述:

输出替换后的字符数组

示例1

输入:

5 a b l i
fklwa

输出:

fkiwb

示例2

输入:

8 a o d e
nawcoder

输出:

nowcoeer
#include <stdio.h>
#include <string.h>
int main ()
{
    int n=0;
    char a1=0;
    char a2=0;
    char a3=0;
    char a4=0;
    scanf("%d %c %c %c %c",&n,&a1,&a2,&a3,&a4);
    char arr[n];
    scanf("%s",arr);
    int sz=strlen(arr);
    int i=0;
    for(i=0;i<sz;i++)
    {
        if(arr[i]==a1)
        {
            arr[i]=a2;
        }
        if(arr[i]==a3)
        {
            arr[i]=a4;
        }
    }
    printf("%s\n",arr);
    return 0;
}

 4.牛牛的素数判断

 

描述

牛牛刚刚学了素数的定义:素数值指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数

牛牛想知道输入的 n 个数分别是不是素数

输入描述:

第一行输入一个正整数 n ,表示后续要输入的数的数量。

后续 n 行每行输入一个正整数,表示需要判断的数。

输出描述:

输入的第 2 到第 n+1 行每行输出一次,如果输入的是素数则输出 true ,否则输出 false

示例1

输入:

3
2
3
6

输出:

true
true 
false
#include <stdio.h>
int sushu(int score)
{
    int i=0;
    int flag=0;
    for(i=2;i<score;i++)
    {
        if(score%i==0)
        {
            flag=1;   //1不是素数!
        }
        
    }
    return flag;
}
int main ()
{
    int n=0;
    scanf("%d",&n);
    int score=0;
    int i=0;
    for(i=0;i<n;i++)
    {
        scanf("%d",&score);
       if(sushu(score)==1)
       {
           printf("false\n");
       }
        else 
            printf("true\n");
    }
    return 0;
}

 

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到