C语言问题:实现两个数组(一个数组包含于另一个数组中)中不相同的元素组成第三个数组

作者&投稿:桐怖 (若有异议请与网页底部的电邮联系)
C语言,把两个不相同的数组合并,而且合并后的数组中,不会有相同的元素~

a[10],b[10]是 两个 不同的 数组,c[20]是 合并结果
最后 输出 到屏幕,并且 输出了 合并后 元素 个数
main()
{

int a[10]={1,2,3,4,5, 6, 7, 8, 9, 0};
int b[10]={2,4,5,6,8,10,12,14,16,18};
int c[20],i,j,ci;

c[0]=a[0];
ci=1;
for(i=0;i<10;i++)
{
for(j=0;j<ci;j++)
{
if(a[i]==c[j])
break;
}
if(j>=ci)
{
c[ci]=a[i];
ci++ ;
}
}
for(i=0;i<10;i++)
{
for(j=0;j<ci;j++)
{
if(b[i]==c[j])
break;
}
if(j>=ci)
{
c[ci]=b[i];
ci++ ;

}
}
for (i=0;i<ci;i++)
{
printf("%4d",c[i]);
}
printf("
max num=%d
",ci);
}

int search(int *apt,int n,int key){ int *p; for(p=apt;p-1) { c[q]=d; q=q+1; //换个位置 } } printf("The number is:
",q); for(i=0;i<q;i++) //这里不打等号 printf(" %d",c[i]); return 0;}

void main()
{
int a[10], b[5], c[10];
int i,j,k,flag=0;

printf("请向a中输入数字:");
for (i = 0; i < 10; i++)
{
scanf("%d",&a[i]);
}
printf("请向b中输入数字:");
for (i = 0; i < 5; i++)
{
scanf("%d", &b[i]);
}
k =0;
for (i = 0; i < 10; i++)
{
flag=0;
for (j = 0; j < 5; j++)
{
if (a[i] == b[j])
{
flag=1;
break;
}

}
if (flag==0)
{
c[k] = a[i];
k++;
}
}
for (i = 0; i < k; i++)
printf("%4d",c[i]);
}


用VHDL语言编程怎么实现两个按钮控制两个灯,就是按下按钮1,LED1亮。按...
用D触发器+一个反向器,按钮1按下后输入上升沿到触发器的触发端,触发器D端接高电平。触发器的\/Q端接LED负极,LED正极接电源。

怎样用字符指针实现两个字符串的拷贝,求c语言程序
int *p *q 将设将q中的复制到p中 while(*q!='\\0')p++=*q++;char *(char *t,char *s){ char *p=t;while (*t++=*s++)return p;}

C语言中怎样设计一个函数实现两个字符串的连接
1)简单来,直接用 strcat 函数,需要包含头文件 string.h 2)自己实现的话也不麻烦,但是要考虑一些细节:假设两个字符串指针为 str1,str2 ,现在要讲 str1 和 str2 连接成一个新的字符串。a.考虑指针 str1,str2 是否非空 b.如果将str2的内容直接连接到str1的末尾,要考虑str1是否有足够的...

如何C语言中实现两个任意大小的整数的相加
要实现任意大小两个整数相加,那么就不能存在溢出情况。所以无法使用任何系统类型,唯一的方式是用数组模拟整数存储,并自行实现加法操作算法。需要注意以下几点:1 大数如何存储及输出;2 计算时进位的处理;3 两个计算数长度不同时的处理;4 当达到最高位仍有进位的处理,即结果的长度大于任意一个操作数...

C语言编写实现两个浮点函数交换。在主函数中输入输出两个浮点数。
include <stdio.h> void swap(float& a, float& b){ float t = a;a = b;b = t;} void main(){ float a,b;printf("请输入a,b的值:\\n");scanf("%f%f",&a,&b);printf("a = %f,b = %f\\n",a,b);swap(a,b);printf("交换后:a = %f,b = %f\\n",a,b);} ...

c语言怎么实现两个实数的整数部分进行交换?
include <stdio.h>#include <math.h>int main(void) {float a = 3.4;float b = 4.7;printf("a:%.1f, b:%.1f\\n", a, b);float temp_a;float temp_b;temp_a = floor(a);temp_b = floor(b);a = temp_b + a - temp_a;b = temp_a + b - temp_b;printf("a:%....

c语言编写函数实现两个字符串比较(其功能与标准函数strcmp一样)函数原 ...
以下代码就可解决此问题:\/\/#include "stdafx.h"\/\/If the vc++6.0, with this line.#include "stdio.h"int mystrcmp(const char *s1,const char *s2){ while(*s1 && *s2 && !(*s1-*s2)) s1++,s2++; return *s1-*s2;}int main(void){\/\/测试一下 char a[]="1237...

编写一个函数实现两个字符串的连接(不使用库函数strcat).这个用C语...
void fun (char s1[],char s2[]){ int i,j;for (i=0;s1[i] !=’\\0’; i++); \/*求出的i为pA字符的总长度,包括结束标记位*\/ for (j=0;s2[j] !=’\\0’; j++)s1[i++]=s2[j]; \/*将pB字符串连在pA字符串的后面*\/ s1[i]='\\0’; \/*在字符串最后加上结束标记符*...

C语言怎么样用最简单的方法实现两个函数二选一运行?
int add(int a,int b){ return a+b;} int sub(int a,int b){ return a-b;} if(i%2==0){ p=add;} else { p=sub;} int sum=p(3,3);利用了函数指针,赋值不同的函数给它。前提是两个函数的参数要一致

C语言如何实现把两个整型数字拼接起来仍然是整型数字
include<stdio.h>int main() {int a,b,t=9; scanf("%d%d",&a,&b); while(t

师宗县15884732228: C语言数组,把两个数组弄成一个. -
龙玲维血: /*用一个int来保存目标数组中数据的个数就行了.*/ int m=0; int data[MAX];/*MAX是数组能保存的最大个数,需要自行决定.上限在编译期不确定时,可以用malloc分配动态数组.*/ for(i=0;i<2*l2;i++)for(j=0;j<m[i];j++)data[m++] = n[i]; /*之后数组data[]中前m个元素就是LZ所要的值.*/ ==== [原创回答团]

师宗县15884732228: 如何用C语言编程将两个有序数组a,b合并成一个数组c -
龙玲维血: 就以你的例子来写,可适当修改为更普遍的 算法核心代码为:int i = j = k = 0;//循环比较,将小的插入到C数组中 while ( i < 3 && j < 3) { if (a [i] < b [j]) c[k++] = a[i++]; else c[k++] = b[j++]; }//处理其中一个数组剩下 while (i < 3) c[k++] = a[i++]; while( j < 3) c[k++] = b[j++]; 或许有更好的实现,你自己在想想吧!

师宗县15884732228: c语言怎么用strcat将两个数组a[i]、b[j]合并成一个数组? -
龙玲维血: strcat是字符串拼接函数,不是数组拼接函数,所以不能用于拼接两个数组. 可以用以下方法: 1. 用数组的话用memcpy. 2. 用循环把所有数组元素重新拷贝. 3. 直接当字符串输入.

师宗县15884732228: 将两个数组合并到一个数组并排序的c语言程序编写 -
龙玲维血: 这里是借用第三个数组. 原理:先将两个数组复制到第三个数组中,然后对第三个数组排序 如果不使用第三个函数,那么下面这个函数一样可以做到,不过函数声明就要改成: char* fun(char *dest, char *str, char *dest) /*------------------------------...

师宗县15884732228: C语言中如何将两个二维数组合并为一个二维数组中.希望高手可以帮我把这个程序写出来,谢谢. -
龙玲维血: 如果不考虑控件效率的话,直接定义一个两倍大的数组,并将两个数组的值赋进去就好了下面是程序:#include <stdio.h> #include <string.h> void main() {int Arr1[2][3] = {{0,1,2},{3,4,5}};int Arr2[2][3] = {{6,7,8},{9,10,11}};int Des[4][3];memcpy(...

师宗县15884732228: 用c语言编写:将两个升序的数组归并成一个新的升序数组 -
龙玲维血: //之前写过的,你可以参考下#include <stdio.h> int main() { int str1[5]={3,6,7,45,55};//两个升序数组int str2[5]={8,10,11,22,25};int out[10];//输出数组int i=0,j=0,k=0;while (i<5&&j<5){//循环将较小元素放入Cif (str1[i]<str2[j]){out[k]=str1[i];...

师宗县15884732228: C语言问题:实现两个数组(一个数组包含于另一个数组中)中不相同的元素组成第三个数组 -
龙玲维血: void main() { int a[10], b[5], c[10]; int i,j,k,flag=0; printf("请向a中输入数字:"); for (i = 0; i < 10; i++) { scanf("%d",&a[i]); } printf("请向b中输入数字:"); for (i = 0; i < 5; i++) { scanf("%d", &b[i]); } k =0; for (i = 0; i < 10; i++) { flag=0; for...

师宗县15884732228: 1.C语言 请将两个有序一维数组合并为一个数组,使得合并后的数组依然有序. -
龙玲维血: 循环

师宗县15884732228: c语言编程: 输入两个数组,每个数组不超过10个元素,将只在一个数组中出现的数全部输出. -
龙玲维血: 意思就是A数组中的数B数组没有呗...代码要自己写才有有意思 双层for循环 把A[i]元素 和每个B元素if一下 设定一个计数器 如果对比10次计数器都没增加 则输出A[i]元素.. 然后计数器归零 再进入外部循环... 如此反复10次 然后再把A和B兑换下 再来一次上面的就能把B的元素输出了..

师宗县15884732228: C语言合并两个数组 -
龙玲维血: #include<stdio.h>#include<string.h> void main() { int a, b,f, g; char c[50], d[50], e[100]; gets(c); int le=strlen(c); for(a=0;a<le;a++) { e[a]=c[a]; } gets(d); g=strlen(d); if(g>5) { for(b=0;b<=5;b++) { e[a+b]=d[b]; } } else { for(b=0;b<=g;b++) { e[a+b]=d[b]; } } ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网