。两数组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;
}
展开
 我来答
xoaxa
2013-05-24 · TA获得超过8610个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3470万
展开全部

题目要求不太严格,或者说没表达清楚。以我的理解是这样的。

1、两个数组a,b都有n个元素,比较对应位置的两个数组的元素,累加数组a元素大于数组b元素的个数m,如果m > n&#47;2,表明a > b,如果m == n&#47;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;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式