大数里面输入用字符串输入...输入以后对每一个字符进行a[i]=a[i]-'0'处理使之变成int型就可以进行乘法运算
在乘方里面..可以每×一次就进位一次.结果任然是对的.
同时还要主要输出.如要求0.01写为.01 1.00写为1而不是1.
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <string.h>
int main()
{
int m,h[200],g[40][40];
char k[40],s[40];
while(scanf("%s",k)!=EOF)
{scanf("%s",s);
for(int i=0;i<strlen(k);i++)
k[i]=k[i]-'0';
for(int i=strlen(s)-1;i>=0;i--)
s[i]=s[i]-'0';
for(int i=strlen(k)-1;i>=0;i--)
{
for(int j=strlen(s);j>=0;j--)
g[i][j]=k[i]*s[j];
}
for(int q=0;q<strlen(k)+strlen(s)-1;q++)
{
h[q]=0;
printf("%d",h[q]);
for(int i=0;i<strlen(k);i++)
{
for(int j=0;j<strlen(s);j++)
{
if(q==i+j)
h[q]=h[q]+g[i][j];
}
}
printf("%d",h[q]);
}
for(int i=strlen(k)+strlen(s)-2;i>0;i--)
{
if(h[i]>=10)
{
m=h[i]/10;
h[i]=h[i]%10;
h[i-1]=h[i-1]+m;
}
}
for(int i=0;i<strlen(k)+strlen(s)-1;i++)
printf("%d",h[i]);
printf("\n");
}
system("pause");
return 0;
}