利用C求解幂函数(请教)
#include "stdafx.h"#include<stdio.h>
#include<math.h>
void main()
{
int a,m,i,j,q,t;
unsigned long b,k=0;
char str[3][10],a1[10]={0,0,0,0,0,0,0,0,0,0},b1[10]={0,0,0,0,0,0,0,0,0,0};
for(i=0;i<3;i++) ///:初始化str:/
for(j=0;j<10;j++)
str[i][j]=0;
scanf("%d %ld",&a,&b);
m=a;
for(i=0;i<3;i++) ///:将a转换成字符串:/
{
a1[i]=m%10;
m=m/10;
}
for(i=0;i<10;i++) // /:初始化b[i]:/
b1[i]=a1[i];
do
{
for(i=0;i<3;i++) ///:字符相乘:/
for(j=0;j<10;j++)
str[i][j]=b1[j]*a1[i];
for(i=0;i<3;i++) ///:满十进一:/
{
for(j=0;j<10;j++)
if(str[i][j]>=10)
{
q=str[i][j]/10;
str[i][j]=str[i][j]%10;
str[i][j+1]=str[i][j+1]+q;
}
}
for(i=1;i<3;i++) ///:后移:/
for(j=9;j>=0;j--)
str[i][j]=str[i][j-i];
for(i=1;i<3;i++) ///:1,2归零:/
for(j=0;j<i;j++)
str[i][j]=0;
for(i=0;i<3;i++)
b1[i]=0;
for(j=0;j<10;j++) ///:同列相加:/
for(i=0;i<3;i++)
b1[j]=b1[j]+str[i][j];
for(j=0;j<10;j++)
{
if(b1[j]>=10)
{
q=b1[j]/10;
b1[j]=b1[j]%10;
b1[j+1]=b1[j+1]+q;
}
}
k++;
}while(k<b-1);
for(i=9;;i--)
{
if(b1[i]!=0)
{
t=i;
break;
}
}
for(i=t;i>=0;i--)
printf("%d",b1[i]);
printf("\n");
}
希望大家能在源程序上修改,以实现要求。谢谢!
[fly]谢谢[/fly]