希望各路高手C语言能帮我详细的一步一步分析一下下面这个程序,共同进步!!!

2025-06-23 01:21:46
推荐回答(1个)
回答1:

程序虽然啰嗦,但不复杂,好多内容可简化
解释直接写成注释
#include
#include
#include
#define I 20
#define R 340
int main()
{
FILE *fp;
if((fp=fopen("爱心.txt","W"))==NULL) //打开文件备写
{
printf("File open error!\n"); //打开文件错误
exit(0);
}
int i,j,e;
int a;
for(i=1,a=I;i {
for(j=(int) ( I-sqrt((double)(I*I-(a-i)*(a-i))) );j>0;j--)
{
printf(" "); //屏幕上输出
fprintf(fp,"%s"," "); //文件中输出相同内容
}
for(e=1;e<=2*sqrt((double)(I*I-(a-i)*(a-i)));e++)
{
printf("\3"); //\3是个"心"符号
fprintf(fp,"%s","*"); //这里输出 *
}
for(j=(int) ( 2*( I-sqrt((double)(I*I-(a-i)*(a-i))) ) );j>0;j--)
{
printf(" ");
fprintf(fp,"%s"," ");
}
for(e=1;e<=2*sqrt( (double) (I*I-(a-i)*(a-i)) );e++)
{
printf("\3");
fprintf(fp,"%s","*");
}
printf("\n");
fprintf(fp,"%s","\n");
}
for(i=1;i<80;i++)
{
if(i==25)
{
printf(" I LOVE YOU!O(∩_∩)O~ "); //有 I LOVE YOU!
fprintf(fp,"%s"," I LOVE YOU!O(∩_∩)O~ ");
i+=30;
}
printf("\3");
fprintf(fp,"%s","*");
}
printf("\n");
fprintf(fp,"%s","\n");
for(i=1;i<=R/2;i++)
{
if(i%2||i%3)continue;
for(j=(int) ( R-sqrt( (double) (R*R-i*i) ) );j>0;j--)
{
printf(" ");
fprintf(fp,"%s"," ");
}
for(e=1;e<=2*( sqrt( (double)(R*R-i*i) ) - (R-2*I) );e++)
{
printf("\3");
fprintf(fp,"%s","*");
}
printf("\n");
fprintf(fp,"%s","\n"); //以上分别在stdout和爱心.txt中输出心形图案, stdout中用"心",文件中用*来画
}
long time;
for(; ;)
{
system("color a"); //变色,下同(颜色不同哦)
for(time=0;time<99999999;time++); //延时
system("color b");
for(time=0;time<99999999;time++);
system("color c");
for(time=0;time<99999999;time++);
system("color d");
for(time=0;time<99999999;time++);
system("color e");
for(time=0;time<99999999;time++);
system("color f");
for(time=0;time<99999999;time++);
system("color 0");
for(time=0;time<99999999;time++);
system("color 1");
for(time=0;time<99999999;time++);
system("color 2");
for(time=0;time<99999999;time++);
system("color 3");
for(time=0;time<99999999;time++);
system("color 4");
for(time=0;time<99999999;time++);
system("color 5");
for(time=0;time<99999999;time++);
system("color 6");
for(time=0;time<99999999;time++);
system("color 7");
for(time=0;time<99999999;time++);
system("color 8");
for(time=0;time<99999999;time++);
system("color 9");
for(time=0;time<99999999;time++);
system("color ab");
for(time=0;time<99999999;time++);
system("color ac");
for(time=0;time<99999999;time++);
system("color ad");
for(time=0;time<99999999;time++);
system("color ae");
for(time=0;time<99999999;time++);
system("color af");
for(time=0;time<99999999;time++);
}
return 0;
}