。两数组a、b各有10个元素,如相应的元素比较时a元素比b元素大的个数多,则a大于b, 相等则a等于b,否则a小
#include<stdio.h>voidmain(){intfax(inta[10],intb[10]);inta[10],b[10],i;printf("inputa...
#include<stdio.h>
void main()
{
int fax(int a[10],int b[10]);
int a[10],b[10],i;
printf("input arrary a:");
for(i=0;i<=9;i++)
scanf("%d",&a[i]);
printf("input arrary b:");
for(i=0;i<=9;i++)
scanf("%d",&b[i]);
if (fax(a[10],b[10])>0)
printf("a>b");
if (fax(a[10],b[10])<0)
printf("a<b");
if (fax(a[10],b[10])==0)
printf("a=b");
}
int fax(int a[10],int b[10])
{
int i,m=0,n=0,k;
for(i=0;i<=9;i++)
{
if(a[i]>b[i])
m++;
else if(a[i]<b[i])
n++;
}
k=m-n;
return k;
} 展开
void main()
{
int fax(int a[10],int b[10]);
int a[10],b[10],i;
printf("input arrary a:");
for(i=0;i<=9;i++)
scanf("%d",&a[i]);
printf("input arrary b:");
for(i=0;i<=9;i++)
scanf("%d",&b[i]);
if (fax(a[10],b[10])>0)
printf("a>b");
if (fax(a[10],b[10])<0)
printf("a<b");
if (fax(a[10],b[10])==0)
printf("a=b");
}
int fax(int a[10],int b[10])
{
int i,m=0,n=0,k;
for(i=0;i<=9;i++)
{
if(a[i]>b[i])
m++;
else if(a[i]<b[i])
n++;
}
k=m-n;
return k;
} 展开
1个回答
展开全部
题目要求不太严格,或者说没表达清楚。以我的理解是这样的。
1、两个数组a,b都有n个元素,比较对应位置的两个数组的元素,累加数组a元素大于数组b元素的个数m,如果m > n/2,表明a > b,如果m == n/2,则a == b,否则, a < b。
2、先将两个数组按相同顺序(增序或降序)排序,而后再以1、的方式进行比较......
下面是以方式2编写的代码。
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define N 10
void sort(int a[], int n) { // 增排序
int i,j,k,t;
for(i = 0; i < n - 1; ++i) {
k = i;
for(j = i + 1; j < n; ++j)
if(a[k] > a[j]) k = j;
if(k != i) {
t = a[k];
a[k] = a[i];
a[i] = t;
}
}
}
int compare(int a[], int b[], int n) {
int i,m = 0;
for(i = 0; i < n; ++i) {
if(a[i] > b[i]) ++m;
else --m;
}
return m;
}
void show(int a[], int n) {
int i;
for(i = 0; i < n; ++i)
printf("%2d ",a[i]);
printf("\n");
}
int main() {
int a[N],b[N],i,res;
srand((unsigned)time(NULL));
for(i = 0; i < N; ++i) {
a[i] = rand()%100;
b[i] = rand()%100;
}
sort(a,N); show(a,N);
sort(b,N); show(b,N);
res = compare(a,b,N);
printf("比较结果 : ");
if(res > 0) printf("a > b\n");
else if(res < 0) printf("a < b\n");
else printf("a == b\n");
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询