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

相关内容

热门资讯

常用商务英语口语   商务英语是以适应职场生活的语言要求为目的,内容涉及到商务活动的方方面面。下面是小编收集的常用商务...
六年级上册英语第一单元练习题   一、根据要求写单词。  1.dry(反义词)__________________  2.writ...
复活节英文怎么说 复活节英文怎么说?复活节的英语翻译是什么?复活节:Easter;"Easter,anniversar...
2008年北京奥运会主题曲 2008年北京奥运会(第29届夏季奥林匹克运动会),2008年8月8日到2008年8月24日在中华人...
英语道歉信 英语道歉信15篇  在日常生活中,道歉信的使用频率越来越高,通过道歉信,我们可以更好地解释事情发生的...
六年级英语专题训练(连词成句... 六年级英语专题训练(连词成句30题)  1. have,playhouse,many,I,toy,i...
上班迟到情况说明英语   每个人都或多或少的迟到过那么几次,因为各种原因,可能生病,可能因为交通堵车,可能是因为天气冷,有...
小学英语教学论文 小学英语教学论文范文  引导语:英语教育一直都是每个家长所器重的,那么有关小学英语教学论文要怎么写呢...
英语口语学习必看的方法技巧 英语口语学习必看的方法技巧如何才能说流利的英语? 说外语时,我们主要应做到四件事:理解、回答、提问、...
四级英语作文选:Birth ... 四级英语作文范文选:Birth controlSince the Chinese Governmen...
金融专业英语面试自我介绍 金融专业英语面试自我介绍3篇  金融专业的学生面试时,面试官要求用英语做自我介绍该怎么说。下面是小编...
我的李老师走了四年级英语日记... 我的李老师走了四年级英语日记带翻译  我上了五个学期的小学却换了六任老师,李老师是带我们班最长的语文...
小学三年级英语日记带翻译捡玉... 小学三年级英语日记带翻译捡玉米  今天,我和妈妈去外婆家,外婆家有刚剥的`玉米棒上带有玉米籽,好大的...
七年级英语优秀教学设计 七年级英语优秀教学设计  作为一位兢兢业业的人民教师,常常要写一份优秀的教学设计,教学设计是把教学原...
我的英语老师作文 我的英语老师作文(通用21篇)  在日常生活或是工作学习中,大家都有写作文的经历,对作文很是熟悉吧,...
英语老师教学经验总结 英语老师教学经验总结(通用19篇)  总结是指社会团体、企业单位和个人对某一阶段的学习、工作或其完成...
初一英语暑假作业答案 初一英语暑假作业答案  英语练习一(基础训练)第一题1.D2.H3.E4.F5.I6.A7.J8.C...
大学生的英语演讲稿 大学生的英语演讲稿范文(精选10篇)  使用正确的写作思路书写演讲稿会更加事半功倍。在现实社会中,越...
VOA美国之音英语学习网址 VOA美国之音英语学习推荐网址 美国之音网站已经成为语言学习最重要的资源站点,在互联网上还有若干网站...
商务英语期末试卷 Part I Term Translation (20%)Section A: Translate ...