c语言编写问题12

来源:百度知道 编辑:UC知道 时间:2024/06/02 19:40:06
编写一个程序,求一个正整数的阶乘,并且询问用户是否继续。
像这种询问“是否继续输入之类的”的问题是不是用do-while结构比较多呢?

#include<cstdio>

int main()
{
char c;
do
{
int i,j,n;
printf("输入正整数n:");
scanf("%d",&n);
int data[100]={0};
data[0]=1;
for(i=1;i<=n;i++)
{
for(j=0;j<100;j++)
data[j]*=i;
for(j=0;j<99;j++)
{
data[j+1]+=data[j]/10000;
data[j]%=10000;
}
}
printf("%d! = ",n);
for(j=99;data[j]==0&&j>=0;j--);
if(j>=0)
printf("%d",data[j--]);
for(;j>=0;j--)
printf("%04d",data[j]);
printf("\n");
printf("是否继续? y/n\n");
scanf("\n%c",&c);
}while(c=='y'||c=='Y');
return 0;
}