这个程序读入一个数组,输出显示读入数组;并且判断其中素数的个数;tc上不可以运行出结果
#define gg 2 #define mm 2 #define f1 for (x=0;x<gg;x++) #define f2 for(y=0;y<mm;y++) #define pr printf int fj(int m) /*函数fj()它负责判断一个数是不是素数目*/ { int i,j=0,k=0;
for (i=2;i<m;i++) { if (m%i==0) {j++; } ;
} ; if (j>0 ){k=0;} else k=1; return (k); }
collect(int a[gg][mm]) /*函数collect()它负责读入数据进入数组*/ {int i,j,k ; for (i=0;i<gg;i++) for(j=0;j<mm;j++) {scanf("%d",&k);a[i][j]=k;} }
see( int a[gg][mm]) /*函数see()它负责查看数组的元素*/ {int i,j,k =0 ; for (i=0;i<gg;i++) for(j=0;j<mm;j++) {printf("%-6d",a[i][j]);k++;if (k%mm==0) printf("\n"); } }
#include <stdio.h> /*主函数部分*/ main() { int s=0;int a[gg][mm];int i,j,k =0; collect(a[gg][mm]); see(a[gg][mm]); for (i=0;i<gg;i++) /*问题就出在这下面,这部分调用函数fj(),对数组元素进行判断*/ for(j=0;j<mm;j++) {printf ("%d",a[i][j]); if (fj(a[i][j])>0) {s++;}; } /* 并用S++计数素数的个数*/ pr("the number of ssh is :%d",s); getch() ; }
----------------解决方案--------------------------------------------------------