POJ-3077

来源:互联网 发布:全炫茂 知乎 编辑:程序博客网 时间:2024/06/05 01:18

题意理解:

1)从最低位起,逢5进1,并将处理的位数字变为0;

2)当被处理位为最高位时,直接打印该位数字;


解题思路:

利用string来求解;


解题代码:

#include<iostream>#include<string>using namespace std;#define ROUND 5int array[9];int main(int argc, char *argv[]){int n;cin>>n;for(int i=0;i<n;i++){string s;cin>>s;int add=0;for(int j=s.length()-1;j>=0;j--){int number=s[j]-'0'+add;if(j==0){array[j]=number;break;}if(number>=ROUND){add=1;}else{add=0;}array[j]=0;}for(int m=0;m<s.length();m++){cout<<array[m];}cout<<endl;}return 0;}


0 0
原创粉丝点击