C 要查找数组之间的公共值,还需要查找计数
我制作了一个程序,可以查找两个数组中包含的值以及这些值的计数,但我的程序不起作用:C 要查找数组之间的公共值,还需要查找计数,c,arrays,string,C,Arrays,String,我制作了一个程序,可以查找两个数组中包含的值以及这些值的计数,但我的程序不起作用: #include<stdio.h> #define SIZE 100 void search(char arr1[10][10],char arr2[10][10]) { //int x = sizeof(arr1); int y = sizeof(arr2) int j,k; for( j=0;j<SIZE-1;j++)
#include<stdio.h>
#define SIZE 100
void search(char arr1[10][10],char arr2[10][10])
{ //int x = sizeof(arr1); int y = sizeof(arr2)
int j,k;
for( j=0;j<SIZE-1;j++)
{
for( k=0;k<SIZE-1;k++)
{ int count = 0;
if(arr1[j][0] == arr2[k][0])
{
count += 1;
}
}
return count;
printf("StudentID\t : BooksTanken\t\n");
printf("%c \t\t %d \t\n",arr1[j][0],count); }
}
int main()
{
// char array1[2][1],array2[5][1];
char array1[3][2]={
{'ID1','srini'},
{'ID2','Albie'},
{'ID3','Kaasi'}};
char array2[6][2]={
{'ID1','OOPS'},
{'ID2','STS'},
{'ID1','STS'},
{'ID1','CTC'},
{'ID3','MAT'},
{'ID2','MAT'}};
printf("We're Begining the Comaprison Here !!\n\n");
search(array1,array2);
}
#包括
#定义大小100
无效搜索(char arr1[10][10],char arr2[10][10])
{//int x=sizeof(arr1);int y=sizeof(arr2)
int j,k;
对于(j=0;j您需要阅读C中的字符串。这应该表示为字符串,并且您应该使用例如strcmp()
来进行比较,而不是手动循环。学习struct
s,并使用这样的数组而不是简单的字符数组,您也会受益匪浅。代码片段:
#define SIZE 100
void search(char arr1[10][10],char arr2[10][10])
....
for( j=0;j<SIZE-1;j++)
....
char array1[3][2]={
。。。
arr[98]=0
您的阵列仅为arr[0]、arr[1]、arr[2]分配了内存;因此引用arr[3]可能是一件坏事
伊迪丝2:问题:为什么“大小1”?/*从上面我找到了这个人的名字和他读了多少本书?*/你问题中的代码有很多编译错误,很难用简洁的方式回答。你应该在发帖之前先阅读基本的C编程,然后尽量让你的问题非常具体。例如,“ID1”i这并不是你认为的那样,即使我正在从char转换为string编译器也不承认这一点,peter,我同意你的看法,但我肯定声明了大小为100,以备将来的情况下,如果数组的大小可能更大,程序必须运行。嗯,让我怀疑一下:你有一个由3×2个元素组成的数组,但在这个数组中迭代100个元素这只会导致出错。
for (i < 0; i < SIZE-1; i++) {
arr[i] = 0;
}
arr[0] = 0;
arr[1] = 0;
arr[2] = 0;
arr[3] = 0;
arr[4] = 0;
arr[5] = 0;
arr[6] = 0;
arr[7] = 0;