开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第10天,点击查看活动详情
在本篇文章里,我将分享一道很经典的C语言题———序列中删除指定数字,并且分享解题思路,希望可以帮助到你
问题描述:
有一个整数序列(可能有重复的整数),现删除指定的某一个整数,输出删除指定数字之后的序列,序列中未被删除数字的前后位置没有发生改变。
数据范围:序列长度和序列中的值都满足1≤n≤50
输入描述:
第一行输入一个整数(0≤N≤50)。 第二行输入N个整数,输入用空格分隔的N个整数。 第三行输入想要进行删除的一个整数。
输出描述:
输出为一行,删除指定数字之后的序列 输入:2 输出:2
示例1
输入:6 1 2 3 4 5 9 4 输出:1 2 3 5
以下代码均经过牛客测试,均正确,请放心测试
代码:
#include <stdio.h>
int main()
{
int n=0;
scanf("%d",&n);
int arr[n];
//接收n个数字
int i=0;
for(i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
int del=0;//接收要删除的值
scanf("%d",&del);
int j=0;//j作为下标锁定的位置就是用来存放不删除的数据的
for(i=0;i<n;i++)
{
if(arr[i]!=del)
{
arr[j]=arr[i];
j++;
}
}
for(i=0;i<j;i++)
{
printf("%d ",arr[i]);
}
return 0;
}
结果展示:
最后
十分感谢你可以耐着性子把它读完和我可以坚持写到这里,摘抄几句话,对你,也对我:
1.别把安全感建立在别人身上,那样就等于把自己人生的选择权,交给了别人。
2.要么努力到出类拔萃,要么就懒得乐知天命。最怕你见识打开了,可努力又跟不上,骨子里清高至极,性格上又软弱无比。
3.想要过什么样的生活,就得有什么样的代价。我没有承担那种代价的能力,所以我甘愿选择默默无闻的平凡。有人活得不平凡,而你只是没看到他的代价而已;何况活成那种不平凡,是没有回头路可走的。
——七董年
没有人会关心你付出过多少努力,撑得累不累,摔得痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷。
5.重蹈覆辙的下场就是自取其辱,失而复得的东西根本回不到当初,重读一本书可能会有新的感悟,但不会有新的结局。
最后如果觉得我写的还不错,请不要忘记==点赞==✌,==收藏==✌,加==关注==✌哦(。・ω・。)
愿我们一起加油,奔向更美好的未来,愿我们从懵懵懂懂的一枚==菜鸟==逐渐成为==大佬==。加油,为自己点赞!