C语言一维数组篇【下】——每日刷题经验分享
创始人
2024-05-23 20:09:32
0

一维数组篇——每日刷题经验分享~😎

  • 前言🙌
    • 有序序列插入一个整数 😊
    • 序列中删除指定数字 😊
    • 序列中整数去重
    • 小乐乐查找数字
    • 筛选法求素数
  • 总结撒花💞

追梦之旅,你我同行

   
😎博客昵称:博客小梦~
😊最喜欢的座右铭:全神贯注的上吧!!!
😊作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主!

😘博主小留言:哈喽!😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不多说,文章推上!欢迎大家在评论区唠嗑指正,觉得好的话别忘了一键三连哦!😘
在这里插入图片描述

前言🙌

    哈喽各位友友们😊,我今天又学到了很多有趣的知识现在迫不及待的想和大家分享一下!😘我仅已此文,给大家分享刷题分享~ !都是精华内容,可不要错过哟!!!😍😍😍

有序序列插入一个整数 😊

描述
有一个有序数字序列,从小到大排序,将一个新输入的数插入到序列中,保证插入新数后,序列仍然是升序。
输入描述:
第一行输入一个整数N(0≤N≤50)。
第二行输入N个升序排列的整数,输入用空格分隔的N个整数。
第三行输入想要进行插入的一个整数。
输出描述:
输出为一行,N+1个有序排列的整数。

在这里插入图片描述此题解决的关键点: 😍

1、 创建多一个变量m代替n,做下面的while循环控制条件,避免for循环控制条件的失控;
2、 常规情况:先将比x大的后面元素往后移动,再将x插入。
3、 考虑特殊的情况,当插入的数据比数组中的元素都大,则将其插入到原数组最大元素的后面即可。

解题代码分享: 😍

#include 
int main()
{int n = 0;scanf("%d", &n);int arr[50] = { 0 };int i = 0;for (i = 0; i < n; i++){scanf("%d", &arr[i]);}int x = 0;scanf("%d", &x);for (i = 0; i < n; i++){if (arr[i] > x){int m = n;while (m - i){arr[m] = arr[m - 1];m--;}arr[i] = x;break;}if (arr[n - 1] < x){arr[n] = x;}}for (i = 0; i < n + 1; i++){printf("%d ", arr[i]);}return 0;
}

序列中删除指定数字 😊

描述
有一个整数序列(可能有重复的整数),现删除指定的某一个整数,输出删除指定数字之后的序列,序列中未被删除数字的前后位置没有发生改变。
数据范围:序列长度和序列中的值都满足 1≤n≤501≤n≤50
输入描述:
第一行输入一个整数(0≤N≤50)。
第二行输入N个整数,输入用空格分隔的N个整数。
第三行输入想要进行删除的一个整数。
输出描述:
输出为一行,删除指定数字之后的序列。

在这里插入图片描述
此题解决的关键点: 😍

1、 删除数组中的一个元素,将后面的元素往前移动覆盖,再将数组总个数减一
2、 特殊情况,当出现重复的数据时,删完一个后,要回到前一个位置,再判断,如果满足条件再删去

解题代码分享: 😍

#include int main() 
{int n = 0;scanf("%d",&n);int arr[50] = {0};int i = 0;for (i = 0; i < n; i++){scanf("%d",&arr[i]);}int x = 0;scanf("%d",&x);for (i = 0; i < n; i++){if(arr[i] == x){for(int t=i;tarr[t]=arr[t+1];//将后面数据覆盖前面的数据}n--;}if(arr[i] == x)//回到前一个位置,再判断(关键步骤)i--;}for (i = 0; i < n; i++){printf("%d ",arr[i]);}return 0;
}

序列中整数去重

描述
输入n个整数的序列,要求对这个序列进行去重操作。所谓去重,是指对这个序列中每个重复出现的整数,只保留该数第一次出现的位置,删除其余位置。
输入描述:
输入包含两行,第一行包含一个正整数n(1 ≤ n ≤ 1000),表示第二行序列中数字的个数;第二行包含n个整数(范围1~5000),用空格分隔。
输出描述:
输出为一行,按照输入的顺序输出去重之后的数字,用空格分隔。

在这里插入图片描述此题解决的关键点: 😍

1、 创建一个标记变量w,将w == 1的数字打印出来,当出现重复数字时,将w 修改为0 ,不打印后面重复的数字
2、 j == i -1 循环控制条件的设置很关键,实现对i的前面元素都和i下标的元素进行比较,如果相同,则不打印

解题代码分享: 😍

#include int main() 
{int n = 0;scanf("%d",&n);int i = 0;int j = 0;int arr[5000] = {0};for (i = 0; i < n; i++){scanf("%d",&arr[i]);}for (i = 0; i < n; i++){int w = 1;for (j = i - 1; j >= 0; j--){if(arr[i] == arr[j])w = 0;}if(w == 1)printf("%d ",arr[i]);}return 0;
}

小乐乐查找数字

描述
给定n个整数和一个整数x,小乐乐想从n个整数中判断x出现几次,请编程帮他实现。
输入描述:
共3行
第一行,一个整数,表示n(1 <= n <= 100)。
第二行,共输入n个整数,两个整数之间用空格分隔。
第三行,输入一个整数,表示要查找的整数x。
输出描述:
一行,表示整数x出现的次数。

在这里插入图片描述
解题代码分享: 😍

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

筛选法求素数

描述
用筛选法求n以内的素数。筛选法求解过程为:将2~n之间的正整数放在数组内存储,将数组中2之后的所有能被2整除的数清0,再将3之后的所有能被3整除的数清0 ,以此类推,直到n为止。数组中不为0 的数即为素数。
输入描述:
多组输入,每行输入一个正整数(不大于100)。
输出描述:
针对每行输入的整数n,输出两行,第一行,输出n之内(包括n)的素数,用空格分隔,
第二行,输出数组中2之后被清0 的个数。每行输出后换行。

在这里插入图片描述

此题解决的关键点: 😍

1、 将2 ~ n的数字存放到下标2 ~ n的数组下标中,因此数组的创建应设置为101个元素的大小,当存放100时,对应的数组下标为101。
2、 再设置两层循环,实现i 后面的所有元素跟i整除,如果为0,则将置为0。
3、最后循环输出不为0的数组元素内容
4、 0 和 1一定不是素数

#include int main() 
{int n = 0;while(scanf("%d",&n) == 1){int arr[101];//将2~n的数字存放到下标2~n的数组下标中int i = 0;int j = 0;for (i = 2; i <= n; i++){arr[i] = i;}int count = 0;for (i = 2; i <= n; i++){for (j = i + 1; j <= n; j++){if(arr[j] % i == 0){arr[j] = 0;}   }}for (i = 2; i <= n; i++){if(arr[i] != 0)printf("%d ",arr[i]);elsecount++;}printf("\n%d\n",count);}return 0;
}

总结撒花💞

   本篇文章旨在分享C语言一维数组的刷题经验。如果大家学习了C语言一维数组的知识,则此文是非常适合大家阅读的,然后再亲自实践刷题,肯定会对知识的掌握更加的深刻,和新的理解~ 希望大家通过阅读此文有所收获!😘如果我写的有什么不好之处,请在文章下方给出你宝贵的意见😊。如果觉得我写的好的话请点个赞赞和关注哦~😘😘😘

相关内容

热门资讯

关于危急时刻的四年级作文50... 关于危急时刻的四年级作文500字 篇一危急时刻在我们的生活中,我们常常会遇到一些危急时刻,这些时刻需...
我最敬佩的一位名人四年级作文... 我最敬佩的一位名人四年级作文 篇一我最敬佩的一位名人是李彦宏。李彦宏是中国著名的企业家,同时也是百度...
感恩老师四年级作文600字【... 篇一:感恩老师的温暖我是一名四年级的学生,今天我要写一篇关于感恩老师的作文。老师是我们成长道路上最重...
做家务的作文400字四年级作... 做家务的作文400字四年级作文20篇篇一:我喜欢做家务我是一个四年级的小学生,我喜欢做家务。每天放学...
四年级写作文买菜400字(经... 四年级写作文买菜400字 篇一:去菜市场买菜四年级的我,有一次和妈妈一起去菜市场买菜,这是我第一次亲...
四年级下册数学暑假新时空答案... 四年级下册数学暑假新时空答案 篇一在四年级下册的数学学习中,我们将继续探索数学的奥秘和应用。而暑假正...
地雷花四年级作文【最新3篇】 地雷花四年级作文 篇一地雷花地雷花是一种奇特的植物,它的花朵看起来像一颗小小的地雷。我在学校的花坛里...
我和孙悟空的一天四年级上册作... 我和孙悟空的一天四年级上册作文 篇一今天是一个特殊的日子,我竟然和孙悟空一起度过了一天!早上,我醒来...
推荐一个好地方作文四年级45... 推荐一个好地方作文四年级450字 篇一我的家乡是一个非常美丽的地方,我推荐大家来参观一下。我家乡的风...
小学的小学四年级作文500字... 小学的小学四年级作文500字 篇一我喜欢的运动我是一个活泼好动的小女孩,喜欢参加各种运动。今天我就来...
今天我当家四年级作文(推荐6... 今天我当家四年级作文 篇一我当家的一天今天,我得到了一个特殊的任务,那就是要当家一天。这是我第一次担...
跳绳比赛四年级作文(通用6篇... 跳绳比赛四年级作文 篇一跳绳比赛的经历我是一名四年级的学生,最近我们学校举办了一场跳绳比赛。这是我第...
家乡变化作文400字四年级(... 家乡变化作文400字四年级 篇一家乡变化我爱我的家乡,那是一个美丽而又宁静的地方。然而,自从几年前,...
一件高兴的事250作文四年级... 篇一:一件高兴的事今天,我要给大家讲一个让我非常高兴的事情。那天,我和妈妈一起去超市买东西。在超市里...
四年级写大自然的景色作文30... 四年级写大自然的景色作文300字 篇一大自然的美景大自然是我们共同的母亲,给予我们无尽的美景和宝贵的...
小小动物园四年级作文【精简6... 小小动物园四年级作文 篇一我参观了一个小小的动物园,里面有许多有趣的动物。首先,我看到了一只可爱的小...
小小动物园四年级作文(精简6... 小小动物园四年级作文 篇一我参观了一个小小的动物园,这是我第一次看到这么多不同种类的动物。动物园里有...
悔恨400字作文【实用3篇】 悔恨400字作文 篇一悔恨是一种深深的内心痛苦,当我们回首往事,发现自己的错误和过失时,心中不禁涌起...
我的奇思妙想四年级作文350... 我的奇思妙想四年级作文350字 篇一我曾经有一个奇思妙想,那就是创造一个可以让人们实现任何愿望的神奇...
小树长高了四年级作文【精简3... 小树长高了四年级作文 篇一四年级的时候,我们班上有一棵小树。那时候,它只有一米多高,细细的树干上长满...