20分,求助

P1255 数楼梯

zhizhi_c @ 2022-10-01 12:10:48

求求各位大佬们看看我代码是那的问题!

#include<stdio.h>
#include<string.h>
using namespace std;
char a[1000],b[1000],c[1001],*p1,*p2,*p3;
int n,la=1,lb=1,lc=1,i;
void add(){
    int tmp=0,lc=lb;
    p1=a;p2=b;
    for(p3=c;p3<c+lc;p3++){
        tmp+=(*p1+*p2-'0');
        *p3=tmp;
        if(*p3>'9'){
            tmp=1;
            *p3-=10;
        }
        else tmp=0;
        p1++;p2++; 
    }
    if(tmp==1)  c[lc++]='1';
    strcpy(a,b);
    strcpy(b,c);
    *c='\0';
    la=strlen(a);lb=strlen(b);
}

int main(){
    memset(a,'0',sizeof(a));
    memset(b,'0',sizeof(b));
    scanf("%d",&n);
    if(n<=2){
        printf("%d",n);
        return 0;
    }
    *a='1',*b='2';
    for(i=3;i<=n;i++) add();
    while(lc) putchar(c[--lc]);
    return 0;
}

|