BC124. 序列中删除指定数字
描述
输入描述
第一行输入一个整数(0≤N≤50)。
第二行输入N个整数,输入用空格分隔的N个整数。
第三行输入想要进行删除的一个整数。
输出描述
输出为一行,删除指定数字之后的序列。示例1
输入:
6 1 2 3 4 5 9 4
输出:
1 2 3 5 9
示例2
输入:
5 1 2 3 4 6 5
输出:
1 2 3 4 6
C 解法, 执行用时: 1ms, 内存消耗: 304KB, 提交时间: 2021-01-01
#include<stdio.h> int main() { int n,x; scanf("%d",&n); int arr[n],i; for(i=0;i<n;i++) { scanf("%d",&arr[i]); } scanf("%d",&x); for(i=0;i<n;i++) arr[i]^=x; for(i=0;i<n;i++) { if(arr[i]!=0) printf("%d ",arr[i]^x); } return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 308KB, 提交时间: 2021-09-13
#include<stdio.h> int main() { int n=0; scanf("%d",&n); int arr[50]={0}; for(int i=0;i<n;i++){ scanf("%d",&arr[i]); } int num=0; scanf("%d",&num); int m=0; for(int i=0;i<n;i++) { if(arr[i]==num) { for(int j=i;j<n;j++) { arr[j]=arr[j+1]; } i--; m++; } } for(int i=0;i<n-m;i++) { printf("%d ",arr[i]); } return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 328KB, 提交时间: 2021-09-09
#include<stdio.h> int find(int* arr, int length,int num) { int i; for (i = 0; i < length; i++) { if (arr[i] == num) return i; } return -1; } int main() { int arr[50] = { 0 }; int length; scanf("%d", &length); int i; for (i = 0; i < length; i++) { scanf("%d", arr + i); } int del; scanf("%d", &del); int j = find(arr, length, del); while (j != -1) { j = find(arr, length, del); if (j == -1) break; arr[j] = arr[j + 1]; for (i = j + 1; i < length; i++) { arr[i - 1] = arr[i]; } length--; } for (i = 0; i < length; i++) { printf("%d ", arr[i]); } return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 332KB, 提交时间: 2021-09-10
#include<stdio.h> int main() { //建立数组及相关删除元素的变量 int elementNumber = 0; int arrnum[50] = { 0 }; int deleteElement = 0; int i = 0; //for用变量; //开始输入; scanf("%d", &elementNumber); getchar(); for (i = 0; i < elementNumber; i++) scanf("%d", &arrnum[i]); getchar(); scanf("%d", &deleteElement); /* 只能处理一个元素; * //处理过程; * for (i = 0; i < elementNumber; i++) * { * if (arrnum[i] == deleteElement) * break; * } * for (; i < elementNumber; i++) * { * arrnum[i] = arrnum[i + 1]; * } */ //输出过程中遇到; for (i = 0; i < elementNumber ; i++) { if (deleteElement != arrnum[i]) printf("%d ", arrnum[i]); } return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 344KB, 提交时间: 2021-09-13
#include <stdio.h> int main() { int n = 0; scanf("%d", &n); int arr[10] = {0}; int i = 0; for (i = 0; i < n; i++) { scanf("%d ", &arr[i]); } int m = 0; scanf("%d", &m); //1 2 3 4 5 9 i = 0; for (i = 0; i < n; i++) { if (arr[i] != m) { printf("%d ", arr[i]); } } return 0; }