1202 - C语言8.5
有两个数组a和b,各有10个元素,将它们对应的逐个比较(即a[0]与b[0]比,a[1]与b[1]比,余此类推)。如果a数组中的元素大于b数组中的相应元素的数目多于b数组中元素大于a数组中相应元素的数目(例如a[i]>b[i]6次,而b[i]>a[i]3次),则判定a数组大于b数组。
请写一个程序判断a数组和b数组的大小关系,并统计出两个数组对应元素大于、等于、小于的次数。
Input
有两行,每一行有10个用空格隔开的整数,表示a数组和b数组。
Output
首先在第一行内输出a数组中元素与b数组中对应元素的大于、等于、小于的次数,用空格隔开。
若a数组大于b数组,则在第二行中输出“a>b”;若a数组小于b数组,则输出“a<b”;若两个数组相等,则输出“a=b”。
请注意不需要输出引号,并请注意行尾输出换行。
Examples
Input
1 3 5 7 9 8 6 4 2 0 5 3 8 9 -1 -3 5 6 0 4
Output
4 1 5 a<b
Solution C
#include<stdio.h> int main() { int i,j,k,l,a[10],b[10]; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) scanf("%d",&b[i]); j=k=l=0; for(i=0;i<10;i++) { if(a[i]>b[i])j++; if(a[i]==b[i])k++; if(a[i]<b[i])l++; } printf("%d %d %d\n",j,k,l); if(j>l) printf("a>b\n"); if(j<l) printf("a<b\n"); if(k==0) printf("a==b\n"); return 0; }
Solution C++
#include <stdio.h> int main() { int large(int x, int y); int a[10], b[10], i, n = 0, m = 0, k = 0; for (i = 0;i < 10;i++) scanf("%d", &a[i]); for (i = 0;i < 10;i++) scanf("%d", &b[i]); for (i = 0;i < 10;i++) { if (large(a[i], b[i]) == 1) n = n + 1; else if (large(a[i], b[i]) == 0) m = m + 1; else k = k + 1; } printf("%d %d %d\n", n, m, k); if (n > k) puts("a>b"); else if (n < k) puts("a<b"); else puts("a=b"); return 0; } int large(int x, int y) { int flag; if(x > y) flag = 1; else if (x < y) flag = -1; else flag = 0; return flag; }