首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【手把手带你刷好题】--C语言基础编程题(十二)

【手把手带你刷好题】--C语言基础编程题(十二)

作者头像
LOTSO
发布2025-10-29 13:50:05
发布2025-10-29 13:50:05
8300
代码可运行
举报
文章被收录于专栏:C++C++
运行总次数:0
代码可运行

🔥个人主页:@草莓熊Lotso 🎬作者简介:C++研发方向学习者 📖个人专栏: 《C语言》 《数据结构与算法》《C语言刷题集》《Leetcode刷题指南》 ⭐️人生格言:生活是默默的坚持,毅力是永久的享受。

前言:本篇博客是刷题集中的第十二篇,题目还是一些比较基础的IO型题目,适合C语言初学者。特别声明一下,这里提供的答案和思路都并非唯一,仅供参考。

1.小乐乐查找数字

题目链接:小乐乐查找数字_牛客题霸_牛客网

题目描述:

题目示例:

代码演示:

代码语言:javascript
代码运行次数:0
运行
复制
#include <stdio.h>

int main() {
    int n = 0;
    int arr[100] = {0};
    int count = 0;
    int x = 0;
    scanf("%d", &n);
    for (int i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }
    scanf("%d", &x);
    for (int i = 0; i < n; i++) {
        if (arr[i] == x)
            count++;
    }
    printf("%d", count);
    return 0;
}

题目解析:

  • 先按题目要求完成输入,再遍历数组,如果出现要查找的数字就用计数器记录下来,最后直接打印count就算它出现的次数了

2.KiKi学程序设计基础

题目链接:KiKi学程序设计基础__牛客网

题目描述:

题目示例:

代码演示:

代码语言:javascript
代码运行次数:0
运行
复制
#include <stdio.h>

int main() {
    printf("printf(\"Hello world!\\n\");\n");
    printf("cout << \"Hello world!\" << endl;");
    return 0;
}

题目解析: 这题注意一下让转义字符不是转义字符就行了,比如 \ \;


3.KiKi求质数个数

题目链接:KiKi求质数个数_牛客题霸_牛客网

题目描述:

代码演示:

代码语言:javascript
代码运行次数:0
运行
复制
#include <stdio.h>
#include<math.h>

int main() {
    int count=0;
    for(int i=100;i<=999;i++)
    {
        int flag=1;//假设是质数
        for(int j=2;j<=sqrt(i);j++)
        {
            if(i%j==0)
            {
                flag=0;
                break;
            }
        }
        if(flag==1)
        {
            count++;
        }
    }
    printf("%d",count);
    return 0;
}

题目解析:

  • 质数其实就是素数,在之前的刷题中我特别为大家介绍了试除法求素数,所以这里就不再讲一次了,记住素数就算只能被1和它自己本身整除的数就可以了

4.KiKi去重整数并排序

题目链接:KiKi去重整数并排序__牛客网

题目描述:

题目示例:

代码演示:

代码语言:javascript
代码运行次数:0
运行
复制
#include <stdio.h>

int main() {
    int n=0;
    scanf("%d",&n);
    int arr[1001]={0};
    int tmp=0;
    for(int i=0;i<n;i++)
    {
        scanf("%d",&tmp);
        arr[tmp]=tmp;
    }
    for(int i=0;i<1001;i++)
    {
        if(arr[i]!=0)
        printf("%d ",arr[i]);
    }
    return 0;
}

题目解析:

  • 这里这个题呢我们之前也写过类似题,这题还不会的朋友们可以移步之前的博客看看,这题的思路与之前的那题基本一致,就是在输入的时候将对应的数放在对应的位置,就算有重复的最后也还是在对应位置上的,再把不是0的元素都输出出来就可以

5.KiKi学结构体和指针

题目链接:KiKi学结构体和指针_牛客题霸_牛客网

题目描述:

题目示例:

代码演示:

代码语言:javascript
代码运行次数:0
运行
复制
#include <stdio.h>
#include <stdlib.h>
struct Node {
    int data;
    struct Node* next;
};
int main() {
    int n = 0;
    struct Node* list = NULL;
    struct Node* tail = NULL;
//输入结点
    int i = 0;
    scanf("%d", &n);
    for (i = 0; i < n; i++) {
        int data = 0;
        scanf("%d", &data);
        struct Node* n = (struct Node*)malloc(sizeof(struct Node));
        n->data = data;
        n->next = NULL;
        if (list == NULL) {
            list = n;
            tail = list;
        } else {
            tail->next = n;
            tail = tail->next;
        }
    }
//删除结点
    int del = 0;
    scanf("%d", &del);
    struct Node* cur = list;
    struct Node* prev = NULL;
    while (cur) {
//找到了
        if (cur->data == del) {
            struct Node* pd = cur;
//如果删除的是第一个结点
            if (cur == list) {
                list = list->next;
                cur = list;
            } else {
                               //删除的不是第一个结点
                prev->next = cur->next;
                cur = prev->next;
            }
                       n--;
            free(pd);
        } else { //找不到
            prev = cur;
            cur = cur->next;
        }
    }
    cur = list;
       printf("%d\n", n);
    while (cur) {
        printf("%d ", cur->data);
        cur = cur->next;
    }
       //释放空间
       cur = list;
       while (cur) {
        del = cur;
        cur = cur->next;
               free(del);
    }
    return 0;
}

题目解析:

  • 这题大家看看就行,已经涉及到数据结构的知识了,在这里就先不讲了,有兴趣的朋友以挑战一下这个题目

6.KiKi定义电子日历类

题目链接:KiKi定义电子日历类_牛客题霸_牛客网

题目描述:

题目示例:

代码演示:

代码语言:javascript
代码运行次数:0
运行
复制
#include <iostream>
using namespace std;
class TDate
{
private:
    int Year;
    int Month;
    int Day;
public:
    TDate(int year=0, int month=0, int day = 0)
   {
        Year = year;
        Month = month;
        Day = day;
   }
    void Print()
   {
        cout<<Day<<"/"<<Month<<"/"<<Year<<endl;
   }
};
int main()
{
    int year = 0;
    int month = 0;
    int day = 0;
    cin>>year>>month>>day;
    TDate d(year, month, day);
    d.Print();
    return 0;
}

题目解析:

  • 这题也是看看就行,涉及到了C++的知识,主要是想让大家了解一下C语言学完后,后续可能会学习的一些东西

往期回顾:

【手把手带你刷好题】--C语言基础编程题(八)

【手把手带你刷好题】--C语言基础编程题(九)

【手把手带你刷好题】--C语言基础编程题(十)

【手把手带你刷好题】--C语言基础编程题(十一)

结语: C语言刷题集专栏到此就已经全部结束了,相信大家经过12次的练习,代码能力一定有所提升了。在C语言之后呢,我们后续就要继续数据结构的学习了,在分享数据结构知识的同时,也会给大家分享一些我在LeetCode上刷到的好题。如果文章对你有帮助的话,欢迎点赞收藏加关注,感谢大家的支持。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-10-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.小乐乐查找数字
  • 2.KiKi学程序设计基础
  • 3.KiKi求质数个数
  • 4.KiKi去重整数并排序
  • 5.KiKi学结构体和指针
  • 6.KiKi定义电子日历类
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档