我是超菜鸟,谁讲讲这段代码……

来源:百度知道 编辑:UC知道 时间:2024/05/06 17:20:35
main()
{
int n,i;
printf("\nplease input a number:\n");
scanf("%d",&n);
printf("%d=",n);
for(i=2;i<=n;i++)
{
while(n!=i)
{
if(n%i==0)
{ printf("%d*",i);
n=n/i;
}
else
break;
}
}
printf("%d",n);}

逐字逐句解释……

main()
{
int n,i; 声明n,i分别为整型变量;
printf("\nplease input a number:\n"); 格式输出函数,\n为换行,输出please input a number:这段文字;
scanf("%d",&n); 格式输入函数,%d为十进制整数格式,意思是把输入的十进制整数赋给n;
printf("%d=",n); 输出n的值和=号;
for(i=2;i<=n;i++) for语句,给i赋初值2,当i<=n时执行与其匹配的{}中的语句,每次执行完后使i值自增1;
{
while(n!=i) while语句,当n不等于i时执行与其匹配的{}中的语句;
{
if(n%i==0) if语句,%为求余运算符,当n能整除i时执行与其匹配的{}中的语句;
{ printf("%d*",i); 输出i的值和*号;
n=n/i; 将n/i的值赋给n,也就是使n去掉n的因子i;
}
else 与if配套的else语句,意思是当n不能整除i时跳出for循环
break; 跳出循环语句;
}
}
printf("%d",n);} 输出n的值;