#include<stdio.h>
#include<string.h>
int main()
{ char a[200];char b[200];int e[400][400];int f[400];int g[400];
int i,j,m,n,d,y,t;
t=0;
gets(a);
gets(b);
m=strlen(a);//2
n=strlen(b);//2
d=m+n;
for(i=0;i<strlen(a);i++)//10
a[i]=a[i]-'0';
for(j=0;j<strlen(b);j++)
b[j]=b[j]-'0';
//4
for(i=0;i<d;i++)
{g[i]=0;}
for(i=0;i<400;i++)
for(j=0;j<400;j++)
{
e[i][j]=0;
}
for(j=0;j<n;j++)//0 m=2
{ for(i=0;i<m;i++)//0 n=2
{
f[i+j]=a[i]*b[j];//f[0]=a[0]*b[0]=9 f[1]=a[0]*b[1]=9 f[1]=a[1]*b[0]
e[j][i+j]=f[i+j];//e[0][0]=f[0]=9 e[0][1]=f[1]=9 e[1][1]=f[1]=9
}
}
for(j=0;j<d;j++)
{
for(i=0;i<n;i++)
{
g[j]+=e[i][j];
}
}
for(j=d-1;j>=1;j--)
{
if(g[j]>=10)
{
t=g[j]/10;
g[j]=g[j]%10;
g[j-1]=g[j-1]+t;
}
}
for(j=0;j<d-1;j++)
{
printf("%d",g[j]);
}
}
求高手指出哪错了并修改
//后的内容不用看!那是我分析时用的...还有,本程序是大整数乘法的程序....
大整数乘法。。。。可是不能带2个0;例如10*10=100但100*100不等于10000.
大整数乘法。。。。可是不能带2个0;例如10*10=100但100*100不等于10000.
继续求C语言高手帮小弟解答这个问题。在线等回答。麻烦了。为什么结果...
i,j,定义为整型,当i!=j时 (i\/j)=(j\/i)=0 所以会出现上述情况
c语言 求100!的位数及其具体数值。
1.求100! 肯定不能用楼上方法 没有那么大的数据结构存 给你说个方法(算到1000都没问题):用数组表示结果数字每一位的数字 刚才用计算器看了一下 100!有10的100多次方 所以你开个 200的数组肯定够了 然后从2算起 a【0】存2 比如算到3 a【0】存6 然后到4就有进位 所以a【0】存4 a...
C语言编程求100的阶乖,末尾有多少个零
以C语言的数据类型来求100的阶乘不造成数据过大溢出是不现实的,所以不能在求得100的阶乘之后再数它末尾有多少个0,只能在累乘的过程中遇到一个0就干掉,最后数总共干掉了多少个,至于由于溢出前面丢掉了多少位的数就管不了了,代码如下:main(){ long a=1;int i,n=0;for(i=2;i<=100;i++){ ...
C语言,如何提高结果的输出位数,现最高为10位
你这个程序的作用是求一个数字的阶乘,但是能够计算的数字很有限,13!=6227020800就已经超过了long所能够表示的范围,所以不能用整形数来表示,只能用字符串或者数组来表示。下面就介绍一个用数组表示大数阶乘的问题的程序。\/*下面这个代码把40以内的数字的阶乘都打印出来,也可修改程序打印固定数字的阶乘,...
求用c语言编写一个程序,求10000以内含有数字4的数的个数
这是数学问题,相当于排列组合问题。求N个数字以内的含有M的方法,对于以上问题即求4个数字(9999)以内含有4的个数。千位为"4"的个数是10*10*10;百位、十位、个位为"4"的个数也是10*10*10;所以10000以为的个数为4000个,公式为:N*pow(10, N-1);但是这里面有重复,例如"4444"都满足上面4...
C语言如何用FOR循环输出10、100、1000、10000、100000
楼上的你输出5个数字用10000次循环不怕累死啊。。。include <stdio.h> include <math.h> void main(){ for(int i = 1;i< 6;i++){ int a = pow(10,i);printf("%d,",a);} }
c语言编程:100的阶乘有多少个零
len++, sj->data[j] = inc, inc = 0;} sj->len = len;} \/*算法1*\/ int countzero_1(NUM*sj){ int i = 0, k ,n;while (sj->data[i]==0)i++;n = sj->data[i];k = 0;while (n%10==0)n\/=10,k++;return i * 5 + k;} \/*算法2*\/ int countzero_2(int ...
高分求编程题程序(C语言)
2.你的例子到底是二进制还是十六进制?为什么0是000000b?3.输入是什么?文本文件?还是从终端输入?密匙是提前决定还是程序运行的时候决定?4.这个还好。试着做做吧。5.这个无聊到极点,要不要把全国各种方言的说法也都给你算上?讲清楚了再提问,否则10000分也没人给你做。这是第四题的,虽说答案...
100!的准确结果 用c语言怎么算
我找的程序,不是我写的.不过能算100! .如果把int arr[1000]的数组开大足够大的话,10000!也可以算.include<stdio.h> include<conio.h> int arr[1000]={0};void mul(int arr[],int n,int *len){ int c=0,i,l=*len;for(i=0;i<l;i++){ arr[i]=arr[i]*n+c;c=arr[i]\/10...
1*10*100*1000...的c语言程序怎么写
include <stdio.h>\/\/1*10*100*1000*10000...的c语言程序怎么写\/\/至少有两种思路,一种是写个大数类,再直接算乘法\/\/二是偷个懒,计算结果会有几个0,直接输出结果\/\/1*10*100*1000*10000*...*1(n-1个0)\/\/0 1 2 3 4 。。。 n-1 \/\/类加,即结果会有 (1+n-1...