我在尝试为课程做的代码时出现问题。我必须使用" p"打印一个月历中的每个素数,而不是当月的那个数字。我在这里的代码只用p打印出本月的前3天,这是不正确的,剩下的日子是常规数字。有人可以帮忙吗?:
int i, ndays, start, prime=1, p, day=0, array[32];
printf("Enter number of days in month: ");
scanf("%d", &ndays);
printf("Enter starting day of the week (1=Sun, 7=Sat): ");
scanf("%d", &start);
for(i=0; i<start-1; i++)
printf("%3c", ' ');
for(i=1;i<=ndays; i++){
day++;
array[i-1] = day;
for(p=2; p<day; p++){
if(day%p == 0)
prime = 0;
}
if(prime == 1)
printf("%3c", 'p');
else
printf("%3d", day);
if((i+start-1)%7 == 0)
printf("\n");
}
system("pause");
return 0;
}