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:C codeIn Reply To:C code Posted by:ayxg at 2011-12-07 14:26:15 #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX 101 /* * */ int main() { char num[7]; char result[MAX]; int inputNo,count,j,k,dotPos,s,middleValue = 0,i = 0; while(scanf("%s %d",num,&count) == 2) { i = 0; if(count <= 0 || count > 25) return -1; while(num[i] != '.' && num[i] != '\0') i++; if(i > 2) return -1; dotPos = (strlen(num)-i-1) * count; printf("%d",dotPos); for(j = i;j < 7;j++) num[j] = num[j+1]; for(j = 0;j<MAX;j++) result[j] = 0; result[0] = 1; inputNo = atoi(num); while(count > 0) { for(j = 0; j < MAX;j++ ) { s = inputNo * result[j] + middleValue; middleValue = s/10; result[j] = s % 10; } count--; } if(num[0] == '0') { j = -1; while(result[++j] == 0); printf("%c",'.'); k = j + dotPos -1; while(k >= j) { printf("%d",result[k]); k--; } } else { j = MAX; k = -1; while(result[--j] == 0); while(result[++k] == 0); while(j >= k) { printf("%d",result[j]); if(j == dotPos) printf("%c",'.'); j--; } } printf("\n"); } return 1; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator