假设在2*10的二维数组中存放了数据,其中各行的元素构成一个整数,如第一行元素构成整数1234507000。编写程序比较两行元素构成的整数大小。(规则:从高位起逐个比对应位数,若每位均相等,则两数相等;若遇到第一个不相等的数字,则数字大者为大)
时间: 2023-03-25 11:03:49 浏览: 125
可以使用字符串比较的方法,将两行元素构成的整数转化为字符串,然后逐个比较对应位数的字符大小即可。具体实现可以参考以下代码:
```c
#include <stdio.h>
#include <string.h>
int compare(int a[], int b[], int n) {
char stra[20], strb[20];
sprintf(stra, "%d", a[]);
sprintf(strb, "%d", b[]);
int lena = strlen(stra), lenb = strlen(strb);
if (lena != lenb) return lena > lenb ? 1 : -1;
for (int i = ; i < lena; i++) {
if (stra[i] > strb[i]) return 1;
else if (stra[i] < strb[i]) return -1;
}
return ;
}
int main() {
int a[2][10] = {{1, 2, 3, 4, 5, , 7, , , }, {1, 2, 3, 4, 5, , 7, , , 1}};
int res = compare(a[], a[1], 10);
if (res == 1) printf("第一行大于第二行\n");
else if (res == -1) printf("第一行小于第二行\n");
else printf("两行相等\n");
return ;
}
```
阅读全文