PAT考试乙级1017(C语言实现)

来源:互联网 发布:知乎 女朋友是拉拉 编辑:程序博客网 时间:2024/06/13 21:34
#include<stdio.h>#include<string.h>int main(){    char A[1001]={0},Q[1001]={0};//注意数组初始值    int B=0,R=0,i=0,j=0;    scanf("%s %d",A,&B);    while(A[i]!=0){//如果A[i]=0则Q[i]=0        Q[i]=(R*10+A[i]-'0')/B;//相当于把char转为int了        R=(R*10+A[i]-'0')%B;//        i++;    }    if(Q[0]!=0){        printf("%d",Q[0]);    }else{        if(Q[1]==0){//这一段判断是一定要有的,否则A全为0时,输出少一个0,结果部分正确。            printf("0");        }    }    for(j=1;j<strlen(A);j++){          printf("%d",Q[j]);    }    printf(" %d",R);    return 0;  }

总结:
1、由于被除数太长,所以不能直接得出商,要借助数组来还原最原始的除法运算。
2、这个题的主要难点在除法运算,让我觉得我的小学数学是体育老师教的。

原创粉丝点击