C语言 1乘以到30怎么计算啊?
答案:7 悬赏:40 手机版
解决时间 2021-02-10 09:23
- 提问者网友:泪痣哥哥
- 2021-02-10 03:28
C语言 1乘以到30怎么计算啊?
最佳答案
- 五星知识达人网友:猎心人
- 2021-02-10 03:59
以下是我编写的程序,能运行成功,验证过是正确的。
#include"stdio.h"
#include"math.h"
void main(){
int b,m,i,j,k,c;
int a[1000];
a[0]=1;
m=1;
for(i=2;i<=30;i++){
for(j=0;j a[j]=a[j]*i;
}for(j=0;j while((c=a[j])>9){
k=j;
a[k]=c%10;
c=c/10;
if(k+1!=m)
a[k+1]=a[k+1]+c;
if(k+1>=m){
a[k+1]=c;
m=m+1;
}k=k+1;
}
}
}b=a[j];
for(j=m-1;j>=0;j--)
printf("%d",a[j]);
printf("\n");
}
#include"stdio.h"
#include"math.h"
void main(){
int b,m,i,j,k,c;
int a[1000];
a[0]=1;
m=1;
for(i=2;i<=30;i++){
for(j=0;j
}for(j=0;j
k=j;
a[k]=c%10;
c=c/10;
if(k+1!=m)
a[k+1]=a[k+1]+c;
if(k+1>=m){
a[k+1]=c;
m=m+1;
}k=k+1;
}
}
}b=a[j];
for(j=m-1;j>=0;j--)
printf("%d",a[j]);
printf("\n");
}
全部回答
- 1楼网友:逃夭
- 2021-02-10 11:18
找找大数类是怎么用的 这个超出了基本类型的范围
- 2楼网友:天凉才是好个秋
- 2021-02-10 09:39
建议楼主用这个算法:
int x = 1;
for (int i=2; i<31; ++i)
{
x*=i;
}
printf("1*...*30 = %d", x);
int x = 1;
for (int i=2; i<31; ++i)
{
x*=i;
}
printf("1*...*30 = %d", x);
- 3楼网友:duile
- 2021-02-10 08:11
#include
main()
{
float i,t=1;
for(i=2;i<=5;i++)
t*=i;
printf("%f\n",t);
}
main()
{
float i,t=1;
for(i=2;i<=5;i++)
t*=i;
printf("%f\n",t);
}
- 4楼网友:woshuo
- 2021-02-10 07:04
这个只是数的范围问题而已啊,你把 product 定义为 double 类型
double的范围是:1.7E–308~1.7E+308 够用了
#include
void main()
{
double product=1; //定义为double类型,范围就够大了
for(int i=1;i<=30;i++)
product*=i;
printf("1到30的乘积为%.0f\n",product); //这个地方的输出也养修改一下
}
double的范围是:1.7E–308~1.7E+308 够用了
#include
void main()
{
double product=1; //定义为double类型,范围就够大了
for(int i=1;i<=30;i++)
product*=i;
printf("1到30的乘积为%.0f\n",product); //这个地方的输出也养修改一下
}
- 5楼网友:酒醒三更
- 2021-02-10 06:06
楼主,你可以尝试float product=1;
输出是控制一下就可以了 %.0f
#include
void main()
{
float product=1;
for(int i=1;i<=30;i++)product*=i;
printf("1到30的乘积为%.0f ",product);
}
---------------------------------
上面的可以实现啊
- 6楼网友:神鬼未生
- 2021-02-10 04:42
以下是我编写的程序,能运行成功,验证过较小的数的阶层是正确的。如果你想要验证的话,把"i<=30"中30改成你想验证的数就行。希望能帮助到你。
#include"stdio.h"
#include"math.h"
void main(){
int b,m,i,j,k,c;
int a[1000];
a[0]=1;
m=1;
for(i=2;i<=30;i++){
for(j=0;j a[j]=a[j]*i;
}for(j=0;j while((c=a[j])>9){
k=j;
a[k]=c%10;
c=c/10;
if(k+1!=m)
a[k+1]=a[k+1]+c;
if(k+1>=m){
a[k+1]=c;
m=m+1;
}k=k+1;
}
}
}b=a[j];
for(j=m-1;j>=0;j--)
printf("%d",a[j]);
printf("\n");
}
#include"stdio.h"
#include"math.h"
void main(){
int b,m,i,j,k,c;
int a[1000];
a[0]=1;
m=1;
for(i=2;i<=30;i++){
for(j=0;j
}for(j=0;j
k=j;
a[k]=c%10;
c=c/10;
if(k+1!=m)
a[k+1]=a[k+1]+c;
if(k+1>=m){
a[k+1]=c;
m=m+1;
}k=k+1;
}
}
}b=a[j];
for(j=m-1;j>=0;j--)
printf("%d",a[j]);
printf("\n");
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯