这个乘阶计算哪里错了??
#include<stdio.h>
void main()
{
int a,b,c;
printf("\n请输入一个整数:");
scanf("%d",&a);
c=a;
for(b=a;b>=1;b=b-1)
{
c=b*c;
}
printf("%d\n",c);
}
/*看了半天看不出哪里错了*/
#include<stdio.h>
void main()
{
int a,b,c;
printf("\n请输入一个整数:");
scanf("%d",&a);
c=a;
for(b=a;b>=1;b=b-1)
{
c=b*c;
}
printf("%d\n",c);
}
/*看了半天看不出哪里错了*/
#include<stdio.h>
void main()
{
int a,b,c;
printf("\n请输入一个整数:");
scanf("%d",&a);
c=a; //c=1;
for(b=a;b>=1;b=b-1)
{
c=b*c;
}
printf("%d\n",c);
}
/*看了半天看不出哪里错了*/
#include<stdio.h>
void main()
{
int a,b,c;
printf("\n请输入一个整数:");
scanf("%d",&a);
c=a;
for(b=a-1;b>=1;b=b-1)
{
c=b*c;
}
printf("%d\n",c);
}
将c=a,改为c=1,就可以了。
#include<stdio.h>
void main()
{
int a,b,c;
printf("\n请输入一个整数:");
scanf("%d",&a);
c=a;
for(b=a;b>=1;b=b-1) //这个地方 B的计算应该从A-1 开始否则A会计算两次
{
c=b*c;
}
printf("%d\n",c);
}
/*看了半天看不出哪里错了*/
整个程序会溢出