c语言中求交集的一个函数,不知道哪里错了,求高手解答。。。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中求交集的一个函数,不知道哪里错了,求高手解答。。。相关的知识,希望对你有一定的参考价值。
int *FindIntersection(int a[],int b[]) int i,j,m,n,c[100],k=0; m=sizeof(a)/sizeof(int); n=sizeof(b)/sizeof(int); for(i=0;i<m;i++) for(j=0;j<n;j++) if(a[i]==b[j]) c[k]=a[i]; k++; break; return c; 这是函数,我想把a数组和b数组的交集c数组返回,但是好像有问题,求高手解答~~~
参考技术A int*FindIntersection(int
a[],int
b[])
int
i,j,m,n,c[100],k=0;//这里C是函数里面申请的内存,函数体结束后,这个内存就不存在了,所以你这样不对
m=sizeof(a)/sizeof(int);
n=sizeof(b)/sizeof(int);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
if(a[i]==b[j])
c[k]=a[i];
k++;
break;
return
c;
应该像下面这样
void
FindIntersection(int
a[],int
b[],int
c[])//从上函数中传入一个C
int
i,j,m,n,k=0;
m=sizeof(a)/sizeof(int);
n=sizeof(b)/sizeof(int);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
if(a[i]==b[j])
c[k]=a[i];
k++;
break;
求C语言高手帮忙。
下面程序的功能是:将字符串s中下标为偶数的字符删掉,将剩余的字符形成的新的字符串放到数组t中。例如:当字符串s为“ABCDEFGHIJK”时,则在数组t中的字符串应为:“BDFHJ”。
在函数fun的定义部分有两处错误,将它们找出并改正后,上机调试运行程序。
注意:在改正错误时不得增行或删行,也不得更改程序结构!
#include<stdio.h>
void fun(char s[],char t[])
int i,j,n;
n=strlen(s);
for(i=0,j=0;i<n;i++)
if(i%2==0)
t[j++]=s[i++];
t[j]=’\0’;
main( )
char s[80],t[80];
printf(“please input string:”);scanf(“%s”,s);
fun(s,t);
printf(“\nthe new string is :%s\n”,t);
t[j++] = s[i++]; 改为 t[j++] = s[i];
如果是底偶数个的话 改为i%2==1
main 至少加个void的吧!追问
main( void )
??这样?
t[j++]=s[i++];
改成
if(i%2!=0)
t[j++]=s[i];
以上是关于c语言中求交集的一个函数,不知道哪里错了,求高手解答。。。的主要内容,如果未能解决你的问题,请参考以下文章
求一段python程序,定义一个函数,输入为两个list,return是两个list的交集和并集。 求高手解答