0
点赞
收藏
分享

微信扫一扫

质数(素数)表图形化表现

山竹山竹px 2022-04-14 阅读 67
算法
#include<stdio.h>
#include<windows.h>

int isprime(int n)
{
	int rdr; //余数 
	if(n > 0 && n <= 10)
		if(n == 2 || n == 3 || n == 5 || n == 7)
		{
			printf("\n%d",n);
			return -1;
		}
		else
		{
			return 0;
		}

	else if(n > 10)
		rdr = n % 10;
		if(rdr == 0 || rdr == 2 || rdr == 4 || rdr == 5 || rdr == 6 || rdr == 8)
		{
			return 0;
		}	
		else if( n % 3 == 0 || n % 7 == 0 || n % 9 == 0)
		{
			return 0;
		
		}
		
		else
		{
			printf("\n%d",n);
			return -1;
		}
}



int main()
{
	//获取屏幕分辨率
//	int nwidth,nheight;
	int nw,nh,square_width=6;
//	nwidth = GetSystemMetrics(SM_CXSCREEN);
//	nheight = GetSystemMetrics(SM_CYSCREEN);
//	printf("屏幕像素:%d*%d",nwidth,nheight);
//	printf("\n单元格默认边长为15px");
//	nw = nwidth / square_width;
//	nh = nheight / square_width;
	nw = nh = 3;
	printf("\n图形块比例:%d&*%d",nw,nh);
	FILE *ofp;
	ofp = fopen("prime_table.html","w");
	fprintf(ofp,"<html><title>质数表生成器</title><style>body{background-color:#ffffff;}td{width:");
	fprintf(ofp,"%d",square_width);
	fprintf(ofp,"px;background:#333333;}tr{height:");
	fprintf(ofp,"%d",square_width);
	fprintf(ofp,"px;}</style><body>\n<table>\n");
	int i,j;
	for(;nw<100;)
	{
		i = 1,j = 0;
		for(; j < nh ;j++)
		{
			fprintf(ofp,"<tr>");
			for(; i < nw*(j+1)+1 ; i++)
			{	
				if(isprime(i))
					fprintf(ofp,"<td style=\"background:red\"></td>");
				else
					fprintf(ofp,"<td></td>");
			}
			fprintf(ofp,"</tr>\n");
		}
		nh = nw = nw+3;
	}
	fprintf(ofp,"\n</table></body></html>");
	fclose(ofp);
	system("start prime_table.html");
	getchar();
	return 0; 
} 
举报

相关推荐

0 条评论