KS13. 合并数组
描述
输入描述
输入有多个测试用例,每个测试用例有1-2行,每行都是以英文逗号分隔从小到大排列的数字输出描述
输出一行以英文逗号分隔从小到大排列的数组示例1
输入:
1,5,7,9 2,3,4,6,8,10
输出:
1,2,3,4,5,6,7,8,9,10
C 解法, 执行用时: 1ms, 内存消耗: 308KB, 提交时间: 2021-07-17
#include<stdio.h> int main() { int a[100]={0}; int b[100]={0}; int i,j,t,n; i=0; while (1) { scanf("%d",&a[i]); b[i]=a[i]; i++; if(getchar()=='\n') break; } while (scanf("%d",&a[i])!=EOF) { b[i]=a[i]; i++; if(getchar()=='\n') break; } n=i; for(i=0;i<n-1;i++) { for(j=0;j<n-1-i;j++) { if(b[j]>b[j+1]) { t=b[j]; b[j]=b[j+1]; b[j+1]=t; } } } for(i=0;i<n;i++) { printf("%d",b[i]); if(i!=n-1) printf(","); } return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 344KB, 提交时间: 2021-09-01
#include<stdio.h> int main() { int a[100]={0}; int b[100]={0}; int i,j,t,n; i=0; while (scanf("%d",&a[i])!=EOF) { //scanf("%d",&a[i]); b[i]=a[i]; i++; if(getchar()=='\n') break; } while (scanf("%d",&a[i])!=EOF) { b[i]=a[i]; i++; if(getchar()=='\n') break; } n=i; for(i=0;i<n-1;i++) { for(j=0;j<n-1-i;j++) { if(b[j]>b[j+1]) { t=b[j]; b[j]=b[j+1]; b[j+1]=t; } } } for(i=0;i<n;i++) { printf("%d",b[i]); if(i!=n-1) printf(","); } return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 368KB, 提交时间: 2020-03-10
#include<stdio.h> #include<string.h> int main() { int i=0,j=0,n,m,len1,len2; int a[100],b[100],c; /*scanf("%s",&a); scanf("%s",&b); len1=strlen(a); len2=strlen(b);*/ while(1) { scanf("%d",&a[i]); i++; if(getchar()=='\n') { break; } } while(scanf("%d",&b[j])!=EOF) { j++; if(getchar()=='\n') break; } for(n=0;n<j;n++) a[n+i] = b[n]; for(m=0;m<i+j-1;m++) { for(n=0;n<i+j-1-m;n++) { if(a[n]>a[n+1]) { c = a[n];a[n] = a[n+1];a[n+1] = c; } } } for(n=0;n<i+j-1;n++){ printf("%d,",a[n]); } printf("%d",a[n]); }
C 解法, 执行用时: 2ms, 内存消耗: 328KB, 提交时间: 2022-01-15
#include <stdio.h> int main () { int a[100] = {0}; int b[100] = {0}; int i=0,j=0,temp,n; while (scanf("%d",&a[i])!=EOF) { //scanf("%d",&a[i]); b[i]=a[i]; i++; if(getchar()=='\n') break; } while (scanf("%d",&a[i])!=EOF) { b[i]=a[i]; i++; if(getchar()=='\n') break; } n=i; // for(i=0;i<n-1;i++) // { // for(j=0;j<n-1-i;j++) // { // if(b[j]>b[j+1]) // { // temp=b[j]; // b[j]=b[j+1]; // b[j+1]=temp; // } // } // } for(i=0;i<n-1;i++) { for(j=i+1;j<n;j++) { if(b[i]>b[j]) { temp = b[i]; b[i]=b[j]; b[j]=temp; } } } for(i=0;i<n;i++) { printf("%d",b[i]); if(i!=n-1) printf(","); } return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 332KB, 提交时间: 2022-04-04
#include<stdio.h> int main() { int a[100]={0}; int b[100]={0}; int i,j,t,n; i=0; while (1) { scanf("%d",&a[i]); i++; if(getchar()=='\n') break; } while (scanf("%d",&a[i])!=EOF) { i++; if(getchar()=='\n') break; } n=i; for(i=0;i<n-1;i++) { for(j=0;j<n-1-i;j++) { if(a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } for(i=0;i<n;i++) { printf("%d",a[i]); if(i!=n-1) printf(","); } return 0; }