日常刷题篇(入门)

简介: 我从简单到难,一起走上漫漫刷题路!我会持续在我的博客中更新我每天刷题的内容!相互交流!

我从简单到难,一起走上漫漫刷题路!

我会持续在我的博客中更新我每天刷题的内容!

相互交流!

大家一键三连,多多关注!

这是今天我给大家带来的题!以后难度逐渐加深!

1.有序序列插入一个整数

描述

有一个有序数字序列,从小到大排序,将一个新输入的数插入到序列中,保证插入新数后,序列仍然是升序。

输入描述:

第一行输入一个整数N(0≤N≤50)。


第二行输入N个升序排列的整数,输入用空格分隔的N个整数。


第三行输入想要进行插入的一个整数。

输出描述:

输出为一行,N+1个有序排列的整数。

#include <stdio.h>
#include <string.h>
int main() {
    int n,i;
    scanf("%d",&n);
    int arr[n+1];
    for(int i=0;i<n+1;i++)
    {
        scanf("%d",&arr[i]);
    }
    int num = arr[n];
    i = n-1;
    while(arr[i]>num&&i>=0)
    {
        arr[i+1]=arr[i];
        i--;
    }
    arr[i+1] = num;
    for(i=0;i<n+1;i++)
    {
        printf("%d ",arr[i]);
    }
}

2.乘法口诀表

实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定

如:输入9,输出9*9口诀表,输出12,输出12*12的乘法口诀表。

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<math.h>
int main()
{
  int n = 0, m = 0, i = 0;
  scanf("%d", &i);
  for (n = 1; n <= i; n++)
  {
  for (m = 1; m <= n; m++)
  {
    printf("%d*%d=%d\t", m, n, m * n);
  }
  printf("\n");
  }
}

3.交换两个整数

实现一个函数来交换两个整数的内容。

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void exchange(int x, int y)
{
  int temp = x;
  x = y;
  y = temp;
  printf("%d %d", x, y);
}
int main()
{
  int a = 0, b = 0,x,y;
  scanf("%d%d", &a, &b);
  exchange(a, b);
  return 0;
}

4.函数判断闰年

实现函数判断year是不是闰年。

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void panduan(int n)
{
  if ((n % 4 == 0 && n % 100 != 0) || n % 400 == 0)
    printf("%d是闰年", n);
  else
    printf("%d不是闰年", n);
}
int main()
{
  int n = 0;
  scanf("%d", &n);
  panduan(n);
  return 0;
}

5.函数判断素数

实现一个函数,判断一个数是不是素数。

利用上面实现的函数打印100到200之间的素数。

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<math.h>
int panduan(int n)
{
  int i = 0;
  for (i = 2; i <= sqrt(n); i++)
  {
  if (n % i == 0)
    return 0;
  }
  return 1;
}
int main()
{
  int n = 0, i = 0;
  scanf("%d", &n);
  if (panduan(n) == 0)
  printf("%d不是素数",n);
  else if(panduan(n) ==1)
  printf("%d是素数",n);
  return 0;
}

6.序列中删除指定数字

描述

有一个整数序列(可能有重复的整数),现删除指定的某一个整数,输出删除指定数字之后的序列,序列中未被删除数字的前后位置没有发生改变。

数据范围:序列长度和序列中的值都满足 1≤n≤50

输入描述:

第一行输入一个整数(0≤N≤50)。

第二行输入N个整数,输入用空格分隔的N个整数。

第三行输入想要进行删除的一个整数。

输出描述:

输出为一行,删除指定数字之后的序列。

#include <stdio.h>
int main() {
    int n = 0, x = 0;
    int arr[56] = {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) {
            continue;
        }
        printf("%d ", arr[i]);
    }
    return 0;
}

7.序列中整数去重

描述

输入n个整数的序列,要求对这个序列进行去重操作。所谓去重,是指对这个序列中每个重复出现的整数,只保留该数第一次出现的位置,删除其余位置。

输入描述:

输入包含两行,第一行包含一个正整数n(1 ≤ n ≤ 1000),表示第二行序列中数字的个数;第二行包含n个整数(范围1~5000),用空格分隔。

输出描述:

输出为一行,按照输入的顺序输出去重之后的数字,用空格分隔。

#include <stdio.h>
int main() {
    int n = 0, num;
    scanf("%d", &n);
    int a[n], b[n];
    int flag;
    int i, j;
    for (int i = 0; i < n; i++) {
        scanf("%d", &a[i]);
    }
    for (i = 0; i < n; i++) {
        flag = 1;
        for (j = 0; j <= num; j++) {
            if (a[i] == b[j]) {
                flag = 0;
            }
        }
        if (flag == 1) {
            b[num] = a[i];
            num++;
        }
    }
    for (i = 0; i < num; i++) {
        printf("%d ", b[i]);
    }
    return 0;
}

8.有序序列合并

描述

输入两个升序排列的序列,将两个序列合并为一个有序序列并输出。

数据范围:1≤n,m≤1000  , 序列中的值满足 0≤val≤30000

输入描述:

输入包含三行,


第一行包含两个正整数n, m,用空格分隔。n表示第二行第一个升序序列中数字的个数,m表示第三行第二个升序序列中数字的个数。


第二行包含n个整数,用空格分隔。


第三行包含m个整数,用空格分隔。

输出描述:

输出为一行,输出长度为n+m的升序序列,即长度为n的升序序列和长度为m的升序序列中的元素重新进行升序序列排列合并。

#include <stdio.h>
void swap(int* a, int* b) {
    int temp = *a;
    *a = *b;
    *b = temp;
}
int main() {
    int n, m;
    scanf("%d%d", &n, &m);
    int c = m + n;
    int a[c];
    for (int i = 0; i < c; i++) {
        scanf("%d", &a[i]);
    }
    //排序
    for (int i = 0; i < c - 1; i++) {
        for (int j = 0; j < c - 1 - i; j++) {
            if (a[j] > a[j + 1]) {
                swap(&a[j], &a[j + 1]);
            }
        }
    }
    for (int i = 0; i < c; i++) {
        printf("%d ", a[i]);
    }
    return 0;
}


相关文章
|
存储 算法 C语言
日常刷题篇(入门)
我从简单到难,一起走上漫漫刷题路! 我会持续在我的博客中更新我每天刷题的内容! 相互交流!
日常刷题篇(入门)
我从简单到难,一起走上漫漫刷题路! 我会持续在我的博客中更新我每天刷题的内容! 相互交流!
|
C语言 C++
基础刷题篇(入门)
我从简单到难,一起走上漫漫刷题路! 我会持续在我的博客中更新我每天刷题的内容! 相互交流!
|
JavaScript 前端开发 数据安全/隐私保护
牛客前端宝典——刷题 ##Day1
🏆编程就像我们平常做题一样,如果只是一味的学习不去做题的话所得到的效果微乎其微。
135 0
牛客前端宝典——刷题 ##Day1
|
前端开发 容器
牛客前端宝典——刷题 ##Day7
🏆编程就像我们平常做题一样,如果只是一味的学习不去做题的话所得到的效果微乎其微。
131 0
牛客前端宝典——刷题 ##Day7
|
前端开发 JavaScript 程序员
牛客前端宝典——刷题 ##Day3
🏆编程就像我们平常做题一样,如果只是一味的学习不去做题的话所得到的效果微乎其微。
134 0
牛客前端宝典——刷题 ##Day3
|
前端开发 容器
牛客前端宝典——刷题 ##Day8
🏆编程就像我们平常做题一样,如果只是一味的学习不去做题的话所得到的效果微乎其微。
牛客前端宝典——刷题 ##Day8