C语言一道题二维数组问题求高手解答

[复制链接]
查看11 | 回复4 | 2013-1-24 11:50:22 | 显示全部楼层 |阅读模式
如果不是素数 则 print ***
回复

使用道具 举报

千问 | 2013-1-24 11:50:22 | 显示全部楼层
给你个代码,调试通过的:#includestdio.h#includestdlib.h*全局变量,用来存储方阵,最大为51*#define NMAX 51int a[NMAX][NMAX]={0};*判断是否素数*int IsPrime (int m) { int i; if (m == 2) return 2; if (m == 1 || m % 2 == 0) return 0; for (i = 3; i * i = m;){if (m % i == 0) return 0;i += 2; } return m;} *螺旋填矩阵,输入:row,col是起始位置,step是说明第几圈,Imax是最大值*void fun(int row, int col,int number, int step,int Imax){ int i,j; for(i=0;istep*2;i++) upa[row--][col+1]=IsPrime(number++); row++;for(i=0;istep*2;i++) lefta[row][col--]=IsPrime(number++); col++;row++; for(i=0;istep*2;i++) lefta[row++][col]=IsPrime(number++); row--; col++;for(i=0;istep*2;i++) lefta[row][col++]=IsPrime(number++); col--;if(number=Imax) return; else fun(row,col,number,step+1,Imax);} int main(void){int N,I;int i,j; int row,col; printf(请输入奇数 N(最大51) and 起始数 I:);scanf(%d%d, if((int)(N2*2) != (N-1) || I1) {printf(输入有误,N 不是奇数 或者 I小于1 !程序结束); return -1; } row = col = N2; a[row][col]=IsPrime(I); fun(row,col,I+1,1,I+N*N-1); for(i=0;iN;i++) {for(j=0;jN;j++){ if(a[j]0)printf(%3d ,a[j]); else printf(*** );}printf(n); }system(pause);return 0;}赞同0|评论
回复

使用道具 举报

千问 | 2013-1-24 11:50:22 | 显示全部楼层
#incudestdio.h#includemath.hint i, j, n = 0, t = 0, A[50][50];void gofun();int judgefun(int);void main(){int N, I;printf(Input N ,In);scanf(%d%d, j = i = (N 1)2;输入for (; 1;){gofun();ij取下一位置if (!(iN 1N 100))break;{if (judgefun(I))*(*(A i) j) = I;else*(*(A i) j) = 0;}I;}for(i=1;i!=N 1;i)for(j=1;j!=N 1;j){if(*(*(A i) j) ==0)printf(*** );else printf(%d ,*(*(A i) j));if(j==N)printf(n);}}void gofun(){int a, b;if (!n)n;else{if (t - (n * n - n 1)n){a = 0;b = -pow(-1, n);}else{a = pow(-1, n);b = 0;}if (t - (n * n - n 1) == 2 * n - 1)n;i= a;j= b;}t;}int judgefun(int i1){int k;for (k = 2; k = sqrt(i1); k)if (!(i1 % k))return 0;return 1;}赞同0|评论
回复

使用道具 举报

千问 | 2013-1-24 11:50:22 | 显示全部楼层
算法什么的不擅长赞同0|评论
回复

使用道具 举报

千问 | 2013-1-24 11:50:22 | 显示全部楼层
这个有难度。赞同0|评论
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行