求一c++ 源码

来源:百度知道 编辑:UC知道 时间:2024/06/30 05:36:54
已知有两列数(其中含有字母和数字),这两列是几乎是相同的,当相同时(假入第一列数的第一个和第二列数的第一个都是c50),则输出该值(c50),如果不相同(假入第一列数的第二个和第二列数的第二个不相同),则往下寻找,如果找到相同的(假入第一列数的第二个和第二列数的第三个相同),则先输出第二列的第二个,然后再输出这个相同的,如果往下找找不到相同的,则先输出这一个,再往下找,例如:
第一列数:
c50 c80 d70 e90 f20 e32 m90 k40
第二列数:
c50 b60 c80 d70 e90 m90 k40
应该输出:
c50 b60 c80 d70 e90 f20 e32 m90 k40

不知道是否明白?谢谢了。
实在不好意思。补充几点:
1、这里不是就这么几个数,二是一个无穷数…………
2、不是求并集,是按一定顺序排列
3、还有一点需要说明白。就是例如上面的例子中,在第二列中如果不是d70,如果是d10。在c80和e90相同的情况下,这两个默认为是相同的,输出为:c70.

附加:这两列数据在两个txt文档里,请问是作成数据库,还是怎么做比较合适?能不能直接在txt里面做。

谢谢各位!谢谢!如果想要积分,我可以增加。

现在时围绕题目辩论啊。。

//已经调试过了,完全正确,不过解释少了点

#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#include "iostream.h"
void compative(char* str1[], char* str2[]);

void main()
{
char* str1[]={"c50","c80","d70","e90","f20","e32","m90","k40"};
char* str2[]={"c50","b60","c80","d70","e90","m90","k40"};
compative(str1,str2);
}

void compative(char* str1[], char* str2[])
{
int i,j,k=0,reme; //
for(i=0;i<8;i++)
{
int s=0,flag=0;
int count[7]={0};
for(j=k;j<7;j++)
{
reme=k;
if(strcmp(str1[i],str2[j])==0) //相等时
{
for(int t=0;t<7;t++) //输出前面没有输出的str2中的值
{
if(count[t]<j && count[t]!=0)
{