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 |
为什么我的这个代码用GCC可以过,用C就说Compile Error呢?代码应该是没问题的,VS里面编译运行都没问题。// MyPojProject.cpp : 定义控制台应用程序的入口点。 // #include <stdio.h> char s[7];//初始值 int n;//幂 int res[152];//计算结果 int tmpres[152];//计算用临时变量 int decimalCount = 0;//小数位数 int numCount = 0;//数字位数, 5或6 //计算一次乘积 void MultiLongNumbers() { int reslen = 151; while (res[reslen]==0) { reslen --; } for (int i = 0; i< numCount; i++) { for (int j = 0; j<= reslen; j++) { tmpres[i+j] += s[i]*res[j]; } } for (int i = 0; i<= numCount+reslen; i++) { if (tmpres[i] > 9) { tmpres[i+1] += tmpres[i]/10; tmpres[i] = tmpres[i]%10; } res[i] = tmpres[i]; tmpres[i] = 0; } }; int main() { int tmp; while(scanf("%s%d", s, &n)==2) { tmp = 0; for (int i = 0; i<6; i++) { if (s[i] == '.') { decimalCount = 5 - i; tmp = 1; } s[i] = s[i+tmp]; } numCount = 6 - tmp; //调整为低位下标为0 for (int i = 0; i+i < numCount; i++) { tmp = s[i]; s[i] = s[numCount - i - 1]; s[numCount - i - 1] = tmp; } for (int i = 0; i< numCount; i++) { s[i] -= '0'; } for (int i = 0; i< 152; i++) { res[i] = 0; tmpres[i] = 0; } res[0] = 1; for (int i = 0; i < n; i++) { MultiLongNumbers(); } int resBeg = 151; int resEnd = 0; while (res[resBeg]==0) { resBeg --; } while (res[resEnd]==0) { resEnd ++; } decimalCount *= n;//结果中小数位数 while (resBeg >= decimalCount) { printf("%d", res[resBeg]); resBeg -- ; } if (resBeg >= resEnd) { printf("."); } while (decimalCount-1 > resBeg) { printf("0"); decimalCount -- ; } while (resBeg >= resEnd) { printf("%d", res[resBeg]); resBeg -- ; } 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