解题思路:
竖式计算
注意事项:
参考代码:
#include<stdio.h>
int a[100001]={0}; //------定义一个大容量的全局变量整形数组,如果是定义成局部的话,会因为局部内存不足导致程序错误
int main()
{
int x,y,i,j,w=1; //-------w的值是记录位数
a[0]=1;
scanf("%d%d",&x,&y);
for(i=0;i<y;i++)
{
for(j=0;j<w;j++) //----每一位都要乘于一个乘数(竖式计算,可以在纸上列一个竖式计算的乘法辅助理解)
a[j]*=x;
for(j=0;j<w;j++)
{
if(j+1==w&&a[j]/10)
w++; //-------判断位数是否增加(在这个程序中,这个位数可有可无,我打习惯了,就顺便打进去的)
a[j+1]+=a[j]/10; //--------逢十进一
a[j]%=10; //-------进位后剩下的结果
}
}
for(i=2;i+1;i--) //----a[0]是个位,a[1]是十位,a[2]是百位,以此类推
printf("%d",a[i]); //----因为一开始就将数组各个数初始化为0,所以不用在考虑需不需要补0的问题。
return 0;
}
0.0分
1 人评分
不会做的浏览:954 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:400 |
printf基础练习2 (C语言代码)浏览:826 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1334 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:761 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:638 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:701 |
【矩阵】 (C++代码)浏览:999 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:580 |
DNA (C语言代码)浏览:564 |