数组比较程序求答
有一个由0--100以内的整数组成10行10列的数组。输入10个0--100内的整数,与数组的每一行分别进行比较,把相同数为8、9、10的行分别打印输出(包括行号),求答。谢谢!
#include <stdio.h> #include <windows.h> #include <time.h> #define N 10 void prt(int *a, int n) { int i; printf("%02d: ", n + 1); for(i = 0; i < N; i++) { printf("%-3d ", a[i]); } puts(""); } int main(int argc, char* argv[]) { int a[N][N], i, j, k, tmp[N], *p = tmp; srand((unsigned int)time(NULL)); for(i = 0; i < N; i++) { printf("%02d: ", i + 1); for(j = 0; j < N; j++) { a[i][j] = (int)(101.0 * rand() / (RAND_MAX + 1.0)); printf("%-3d ", a[i][j]); if((j + 1) % 10 == 0) puts(""); } } printf("-----------------------------------------------------\n"); for(i = 0; i < N; i++) { scanf("%d", p++); } for(i = 0; i < N; i++) { p = tmp; k = 0; for(j = 0; j < N; j++) { if(a[i][j] == *p++) k++; } switch(k) { case 8: puts("有8个相同的数:"); prt(*(a + i), i); break; case 9: puts("有9个相同的数:"); prt(*(a + i), i); break; case 10: puts("有10个相同的数:"); prt(*(a + i), i); break; default: break; } } return 0; }