ddgw.net
当前位置:首页 >> C语言程序关于合并两个 有序数组 请大神帮我把我的... >>

C语言程序关于合并两个 有序数组 请大神帮我把我的...

#include<stdio.h>#include <iostream> using namespace std; int main() { int i,j,k,p,n,m; j=0; k=0; int a[20],b[20],c[20]; //scanf("%d",&m);// for (i=0;i<m;i++) //{ // scanf("%d",&a[i]);// } m=5; n=5; a[0]=1;a[1]=3;a[2]=5;a[3]=7;a[4]=9; b[0]=2;b[1]=4;b[2]

1:好像a,b,c三个数组都没清零.2:最后的条件有点问题,应把if(k==n)换成else.改后代码:#include<stdio.h>int main(){ int i,j,k,p,n,m; j=0; k=0; int a[20]={0},b[20]={0},c[20]={0}; scanf("%d",&m); for (i=0;i<m;i++) { scanf("%d",&a[i]); } scanf(

#include<stdio.h>#define M 4 //数组a的元素个数#define N 3 //数组b的元素个数 void paixu(int a[],int w) { int i,j; int t; for(j=1;j<w;j++) for(i=0;i<j;i++) if(a[i]>a[j]) { t=a[i];a[i]=a[j];a[j]=t; } } void main() { int i,j=0,n=M; int a[M],b[N],c[M+N]; printf("请输入

基本思想: 1)先在A、B数组中各取第一个元素进行比较,将小的元素放入C数组; 2)取小的元素所在数组的下一个元素与另一数组中上次比较后较大的元素比较,重复上述比较过程,直到某个数组被先排完;3)将另一个数组剩余元素抄入C

很简单的啊,读取第二个文件再写入到第一个文件结尾就行了,举个例: #include <stdio.h> int main() { file *f1,*f2; int r; char buf[4096]; f1=fopen("1.dat","ab"); f2=fopen("2.dat","rb"); if(f1&&f2) { while(1) { if((r=fread(buf,1,4096,f2))>0) fwrite(buf,1,r,f1); else break; } fcloseall(); } return 0; }

首先一点 printf("%d ",&c[m]); 这个语法错了. 应该是printf("%d ",c[m]); 否则输出的是地址. 其次是算法. 当i和j 也就是a和b有一个到结尾 那么 就会引起循环退出 这时 另一个剩余的元素就没有处理了.比如 你输入 a=1 2 b=3 4 那么c[0] = a[0] c[1] = a[1] 之后,i=2 退出循环 b的两个元素就没加入c了.

#include <string.h>#define N 10main(){int i;char s[N][100],a[1000];/*建字符串*/for(i=0;i<N;i++)gets(s[i]);/*合并字符串*/for(i=0;i<N;i++)strcat(a,s[i]);puts(a);}

#include<stdio.h> void merge(char *dest, char *src1, char *src2) { while (*src1 && *src2) { if (*src1 < *src2) { *dest++ = *src1++; } else { *dest++ = *src2++; } } while(*src1) *dest++ = *src1++; while(*src2) *dest++ = *src2++; } int main(int argc, char* argv

#include <stdio.h>#include <stdlib.h>#include <time.h>#include <WINDOWS.H>#define MAX 20int *p;int * Sort(int Num[],int len,int Num1[],int len1);int main(void){int num[MAX],num1[MAX];int x ;srand((unsigned)time(NULL));for(x = 0 ; x <MAX ;x++)

怎么合并,是通过计算加减法还是排序插入 .下面是将a连接b形成c#include <stdio.h>#include <stdlib.h>#define M 3#define N 3//创建矩阵 int ** Create(int m,int n) { int i; int **x; x=(int**)malloc(sizeof(int*) * m); if(!x) { printf("分配内存出错\n"); exit

网站首页 | 网站地图
All rights reserved Powered by www.ddgw.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com