[英]Comparing the 2 Array Triplets in C Language using a function
我在這里通過元素值比較 arrays 然后將分數存儲在score[]
數組中我想知道如何使用 score = compareTriplet(a,b) 打印所有分數數組。 如果沒有,獲得 output 的最佳方法是什么?
#include<stdio.h>
int a[3];
int b[3];
int score[] = {0,0};
int *compareTriplets(int a[], int b[]);
int *compareTriplets(int a[], int b[])
{
int i;
for(i=0;i<3;i++)
{
if( a[i] > b[i])
{
score[0] += 1;
}
else if( b[i] > a[i])
{
score[1] += 1;
}
}
return score;
}
int main()
{
int k;
int score;
scanf("%d %d %d", &a[0], &a[1], &a[2]);
scanf("%d %d %d", &b[0], &b[1], &b[2]);
score = compareTriplets(a,b);
for(k=0;k<2;k++)
{
printf("%d",score[k]);
}
}
compareTriplets提供一個指向int 數組的指針。 因此,您的 main 方法中的 score 變量必須具有int *
類型。 這意味着它是指向數組中第一個 int 的指針。
#include<stdio.h>
int a[3];
int b[3];
int score[] = {0,0};
int *compareTriplets(int a[], int b[]);
int *compareTriplets(int a[], int b[])
{
int i;
for(i=0;i<3;i++)
{
if( a[i] > b[i])
{
score[0] += 1;
}
else if( b[i] > a[i])
{
score[1] += 1;
}
}
return score;
}
int main(int argc, char** argv)
{
a[0] = a[1] = a[2] = 1;
b[0] = b[1] = b[2] = 2;
int *score = compareTriplets(a,b);
printf("%d, %d\n", score[0], score[1]);
return 0;
}
要打印它,我們通過[]
運算符訪問數組元素。
但是讓我補充一點,讓你的分數數組成為一個全局變量在這里似乎是錯誤的決定。
int *compareTriplets(const int a[], const int b[], int *score)
{
int i;
score[0] = 0; score[1] = 0;
for(i=0;i<3;i++)
{
if( a[i] > b[i])
{
score[0] += 1;
}
else if( b[i] > a[i])
{
score[1] += 1;
}
}
return score;
}
用法:
int main(void)
{
int a[3] = {rand(), rand(), rand()};
int b[3] = {rand(), rand(), rand()};
int score[2];
compareTriplets(a,b,score);
printf("%d %d\n", score[0], score[1]);
}
或者
struct score
{
int score[2];
};
struct score compareTriplets(const int a[], const int b[])
{
int i;
struct score sc = {0,0};
for(i=0;i<3;i++)
{
if( a[i] > b[i])
{
sc.score[0] += 1;
}
else if( b[i] > a[i])
{
sc.score[1] += 1;
}
}
return sc;
}
和使用”
int main(void)
{
int a[3] = {rand(), rand(), rand()};
int b[3] = {rand(), rand(), rand()};
struct score sc = compareTriplets(a,b);
printf("%d %d\n", sc.score[0], sc.score[1]);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.