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

相关内容

热门资讯

中秋节的主持词 中秋节的主持词  主持人在台上表演的灵魂就表现在主持词中。在当下的中国社会,很多场合都需要主持人活跃...
无间道台词 无间道台词  说好了三年,三年之后又三年,三年之后又三年,都快十年了,老大!  出来跑,迟早要还的。...
六十岁生日宴会致辞 六十岁生日宴会致辞(通用10篇)  在学习、工作或生活中,要用到致辞的情况还是蛮多的,致辞讲求条理性...
终极三国的经典台词 终极三国的经典台词  1.如此如此,这般这般~  2.我姓刘名备,字玄德,是中山靖王的儿子,因为家道...
团代会主持词 团代会主持词  利用在中国拥有几千年文化的诗词能够有效提高主持词的感染力。现今社会在不断向前发展,主...
《剑雨》经典台词盘点 《剑雨》经典台词盘点  1、生未必乐,死未必苦。  2、未来已成现在,现在已成过去,随心而去。  3...
幼儿园园长开园致辞 幼儿园园长开园致辞  在日常学习、工作和生活中,大家都不可避免地会接触到致辞吧,致辞是指在仪式上所讲...
辩论赛主持人主持词开场白 辩论赛主持人主持词开场白  辩论赛怎么能没有我们主持人呢?下面是小编搜集整理的辩论赛主持人主持词开场...
李白凤求凰特殊台词 李白凤求凰特殊台词  在王者荣耀中每个英雄人物都有台词,那么李白凤求凰特殊台词是什么呢?以下是小编整...
学生读书交流会主持词 学生读书交流会主持词  主持词要把握好吸引观众、导入主题、创设情境等环节以吸引观众。在当下的中国社会...
晚会的闭幕词 晚会的闭幕词(精选16篇)  主持词是主持活动的必备稿子,是活跃气氛,引导活动进行的存在,下面是小编...
阿甘正传电影经典台词 阿甘正传电影经典台词大全  《阿甘正传》给我们展现了一个虽然智商只有75,却是忠诚、守信、执着、友善...
致青春经典台词 致青春经典台词  1、青春是有限的,不能在犹豫和观望中度过。  2、很多东西就像气球一样,看上去很美...
追悼会主持词 追悼会主持词  什么是追悼会  追悼会,为悼念死者而召开的会议。有些在死者遗体所在地举行,有些在殡仪...
幼儿园大班新年联欢会主持词   主持人:左XX  开场:  左:亲爱的老师、同学们:  合:大家好!  彭:20XX年马上就要过...
新春的主持稿 新春的主持稿  在日常生活和工作中,需要使用主持稿的情况越来越多,主持稿是主持人在会议或是节目当中串...
五四青年节的致辞 五四青年节的致辞(通用20篇)  在平日的学习、工作和生活里,大家总少不了要接触或使用致辞吧,致辞是...
新年年会简短优秀致辞 新年年会简短优秀致辞(通用8篇)  在生活、工作和学习中,大家都不可避免地会接触到致辞吧,致辞具有很...
告别仪式的主持词 告别仪式的主持词3篇  告别主持词篇一:  男:离别,是一个沉重的动词。  女:离别,一个让人一生难...