Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:总是PE,哭了,牛人帮忙看看吧In Reply To:总是PE,哭了,牛人帮忙看看吧 Posted by:ganghelloworld at 2010-05-11 13:09:00 > 1,不管输入的每行末尾有无空格,我都处理了。 > 2,输出的每行末尾都有空格 > 下面是程序 > #include <stdio.h> > #include <stdlib.h> > int value_char(char ch) > { > int value; > switch(ch) > { > case '|': > value = 1; > break; > case 'n': > value = 10; > break; > case '9': > value = 100; > break; > case '8': > value = 1000; > break; > case 'r': > value = 10000; > break; > } > return value; > } > int display(long long value) > { > int i, temp, res, weight; > char num[5] = {'|', 'n', '9', '8', 'r'}; > weight = 0; > res = 0; > while(value) > { > temp = value % 10; > res += temp; > for(i = 0;i < temp; i++) > { > printf("%c", num[weight]); > } > weight++; > value /= 10; > if(value != 0 && res != 0) > { > printf(" "); > res++; > } > } > return res; > } > int main() > { > char a[60], b[60], ch; > long long avalue, bvalue; > int alen, blen, i, len, left, right, have, n, tag; > while(1) > { > alen = blen = 0; > avalue = bvalue = 0; > while(1) > { > if(scanf("%c", &ch) != 1) > { > printf("\n"); > return 0; > } > if(ch != '\n') > a[alen++] = ch; > else > break; > } > if(a[alen-1] != ' ') a[alen++] = ' '; > while(1) > { > if(scanf("%c", &ch) != 1) > { > printf("\n"); > return 0; > } > if(ch != '\n') > b[blen++] = ch; > else > break; > } > if(b[blen-1] != ' ') b[blen++] = ' '; > len = 0; > for(i = 0; i < alen; i++) > { > if(a[i] == ' ') > { > avalue += len * value_char(a[i-1]); > len = 0; > } > else len++; > } > len = 0; > for(i = 0; i < blen; i++) > { > if(b[i] == ' ') > { > bvalue += len * value_char(b[i-1]); > len = 0; > } > else len++; > } > left = 1; > right = avalue; > tag = bvalue; > while(tag) > { > have = tag % 2; > n = display(left % 100000); > if(have) > { > printf(" *"); > n = n + 2; > } > for(i = 0; i < 34 - n; i++) printf(" "); > display(right % 100000); > printf(" \n"); > tag = tag >> 1; > left = left << 1; > right = right << 1; > } > if(avalue != 0 && bvalue != 0) > { > printf("The solution is: "); > display((avalue * bvalue) % 100000); > printf(" \n"); > } > } > return 0; > } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator