对于一个正整数n(0<n<80),写一个输出n位数以内最大的3的幂运算
例
输入1
输出9
输入2
输出81
输入6
输出531441
输入60
输出436673502879206784130402698570834024654748577491697818855443
以下是我自己写的程序
#include<stdio.h>
#include<string.h>
int main(void)
{
int i,n,sum=1;
char m[999]="1";
scanf("%d",&n);
for(i=1;;i++){
if(strlen(m)>n)
break;
else
sum=sum*3;
sprintf(m,"%d",sum);
}
sum=sum/3;
printf("%d\n",sum);
return 0;
}
n=1~9的时候都没有问题,从10开始输出-346101685,大于10的时候开始不输出数值
求大神帮帮忙 谢谢!