网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月09日漏签0天
c语言吧 关注:801,764贴子:4,375,112
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 9回复贴,共1页
<<返回c语言吧
>0< 加载中...

新手求助

  • 只看楼主
  • 收藏

  • 回复
  • 葱沾蒜泥
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
题目是数据合并
题目描述
将两个从小到大排列的一维数组 (维长分别为 m, nm,n , 其中 m, n\leq 100m,n≤100) 仍按从小到大的排列顺序合并到一个新的一维数组中,输出新的数组.
输入描述
第 1 行一个正整数 m , 表示第一个要合并的一维数组中的元素个数
第 2行一个正整数 n , 表示第二个要合并的一维数组中的元素个数
第 3行输入 m 个整数 (每个数用空格分开) , 表示第一个数组元素的值.
第 4行输入 n 个整数 (每个数用空格分开) , 表示第二个数组元素的值.
输出描述
一行,表示合并后的数据,共 m + n个数
样例输入
34
1 3 52 4 6 8
样例输出
1 2 3 4 5 6 8


  • 葱沾蒜泥
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这是我写的程序
#include<stdio.h>
#include<stdlib.h>
int main()
{
int m,n,i,k,d;
int a[100], b[100] , c[200];
scanf("%d", &m);
scanf("%d", &n);
for (i=0; i < m; i++)
{
scanf("%d", &a[i]);
}
for (i=0; i < n; i++)
{
scanf("%d", &b[i]);
}
for (i=0; i<n; i++)
{
c[i] = a[i];
}
for (d=n; d<(n + m); d++)
{
c[d] = b[d-n];
}
for (i = 0; i < (n + m); i++)
{
for (k = 0; k < (n + m); k++)
{
if (c[i] < c[k])
{
d = c[i];
c[i] = c[k];
c[k] = d;
}
}
}
for (i = 0; i < (n + m); i++)
{
printf("%d ", c[i]);
}
system("pause");
return 0;
}


2026-01-09 15:51:48
广告
不感兴趣
开通SVIP免广告
  • 葱沾蒜泥
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
运行后的结果是
3
4
1 3 5
2 4 6 8
-858993460 1 2 3 4 5 6 请按任意键继续. . .
-858993460这玩意从哪里来的啊


  • 葱沾蒜泥
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
求大佬帮忙看一下


  • phoenix2017
  • 彩虹面包
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
私聊


  • 3140
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
你可以在输出c之前把a和b输出一遍,确保你ab数组里面存得是正确的结果,我觉得可能是你的某个数组读取了空格或者回车然后转换成int型了


  • 贴吧用户_5e3bVK4
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
狗屎


  • 哎哟喂
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include <stdio.h>
#define N 10
int numlist(int arr[5], int n)
{
int temp;
printf("从小到大排列为:\n");
for (int i = 0; i < n; i++)
for (int j = 0; j < n - 1; j++)
if (arr[j] > arr[j + 1])
{
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
for (int i = 0; i < n; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
}
int allnum(int arr1[], int arr2[])
{
int allarr[N];
for (int i = 0; i < 10; i++)
if (i < 5)
allarr[i] = arr1[i];
else
allarr[i] = arr2[i - 5];
printf("\n合并数组之后的排序为:\n");
numlist(allarr, N);
}
int main()
{
int arr1[5];
int arr2[5];
printf("请输入第一个数组的五个值:\n");
for (int i = 0; i < 5; i++)
scanf("%d", &arr1[i]);
printf("请输入第二个数组的五个值:\n");
for (int i = 0; i < 5; i++)
scanf("%d", &arr2[i]);
//下面输入函数调用,写的很简单,所以就没有注释啦
numlist(arr1, 5);
numlist(arr2, 5);
allnum(arr1, arr2);
}
可以参考一下,之前写的比较类似


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 9回复贴,共1页
<<返回c语言吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示