求一段C语言程序,主要是比较两个数据组。

求一段C语言程序,主要是比较两个数据组。,第1张

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

typedef struct link

{

char a[6]

link *next

link *pre

}link

/*输入数据组的函数*/

void input(link *x,int num)

{

int i,j

printf("一组的数据:")

getchar()

gets(x->a)

x->pre=NULL

link *q=x

for(j=0j<num-1j++)

{

link *p=(link *)malloc(sizeof(link))

gets(p->a)

q->next=p

p->pre=q

q=p

}

q->next=NULL

}

/*输出*/

void output(link *x)

{

int i

link *p=x

printf("结果为:\n")

for(p!=NULL)

{

puts(p->a)

p=p->next

}

}

/*比较*/

link * compare(link *x1,link *x2)

{

link *bian1=(link *)malloc(sizeof(link))

link *bian2=(link *)malloc(sizeof(link))

link *p=x1

link *q=x2

for(p!=NULLp=p->next)

{

for(q=x2q!=NULLq=q->next)

{

if(strcmp(p->a,q->a)==0)

{

if((p->pre!=NULL)&&(p->next!=NULL))

{

bian1=p->pre

bian2=p->next

bian1->next=bian2

bian2->pre=bian1

}

else if(p->pre==NULL)

{

x1=x1->next

x1->pre=NULL

}

else

{

bian1=p->pre

bian1->next=NULL

}

}

}

}

return(x1)

}

void main()

{

link *x1=(link *)malloc(sizeof(link))

link *x2=(link *)malloc(sizeof(link))

int num1,num2

printf("输入第一组数据的个数:")

scanf("%d",&num1)

input(x1,num1)

printf("输入第二组数据的个数:")

scanf("%d",&num2)

input(x2,num2)

x1=compare(x1,x2)

output(x1)

}

这是输入样例及答案,你可以参考一下,按照我的输入格式来编辑你的输入数据测试:

输入第一组数据的个数:3

一组的数据:asdfg

qwert

zxcvb

输入第二组数据的个数:2

一组的数据:asdfg

zxcvb

结果为:

qwert

Press any key to continue

程序与数据原本没有任何区别,在内存中都只是以二进制形式存储的数据。

现在的理解是当CPU指向你这段数据的地址,并且运行它,那这些数据就成了程序,或者说指令,也就是被CS,IP指向了。

就像运行中的程序才能成为进程有类似的概念。

在国标《质量管理体系 基础和术语》GB/T19000—2008/ISO9000:2005中第3.4.5条 程序procedure中对于“程序”的定义进行了规定。

一个环节,内部嵌套着一系列复杂的列逻辑慎密的一个组件,如若一个地方出问题则会影响到整个主体(可以理解为事务)。

在中华人民共和国国家标准《质量管理体系 基础和术语》GB/T19000—2008/ISO9000:2005(代替GB/T19000—2000)中第3.4.5条 程序procedure中对于“程序”的定义是“ 为进行某项活动或过程(3.4.1)所规定的途径。”


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8092843.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存