DSoong
DSoong
关注数: 2
粉丝数: 2
发帖数: 207
关注贴吧数: 13
[POJ求助]POJ 1001提交总是WA,求救 题目连接如下: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fpoj.org%2Fproblem%3Fid%3D1001&urlrefer=352eda623d931d0df2797d04ebe347a1 大意是给出几行数据,每行2个数,每行第一个为0.0-99.999的实数R,第二个为0-25的整数n. 求R^n,要求要保证精度. 我的代码如下,编译运行后,答案无误,但是在提交代码后总是WA,请问这是什么情况,折磨好几天了,请大神帮忙啊. codepad: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fcodepad.org%2F4iqWdR6d&urlrefer=4d685ce66a68ead8017f3956a1c980a4 #include <stdio.h> #include <string.h> #define MAX 200 void multiply(int a[], int n, int result[]);//计算R^N void sort(int result[]);//整理进位 void output(int result[], int point);//输出计算结果 int main(void) { char num[7]={'\0'};//记录底数R int n=0;//储存指数N while(scanf("%s%d", num, &n)!=EOF) { int i=0; int j=0; int a[5]={0};//储存转换后R int point=0;//小数点 int result[MAX]={0};//记录结果 while(num[i]) { if('.'!=num[i]) { a[j]=(int)(num[i] - '0'); j++; i++; } else if('.'==num[i]) { point = strlen(num)-1-i; //记录小数点位置 point *= n; i++; } } for(i=0,j--;i<j;i++) { int temp=0; temp=a[i]; a[i]=a[j]; a[j]=temp; j--; } multiply(a, n, result); output(result, point); } return 0; } void multiply(int a[], int n, int result[]) { int b[MAX]={0}; int i=0,j=0; if(1==n) for(i=0;i<5;i++) result[i] = a[i]; for(i=0;i<5;i++) b[i]=a[i]; while(n>1) { for(i=0;i<MAX;i++) result[i]=0; for(i=0;i<MAX;i++) for(j=0;j<5 && i+j<MAX;j++) { result[i+j] += b[i]*a[j]; sort(result);//整理进位 } for(i=0;i<MAX;i++) b[i]=result[i]; n--; } } void sort(int result[]) { int i=0; for(i=0;i<MAX-1;i++) { result[i+1] += result[i]/10; result[i] %= 10; } } void output(int result[], int point) { int i=MAX-1; int j=0; //去除前导零 for(;i>=point;i--) if(result[i]!=0) break; //去除后缀零 for(j=0;j<point;j++) if(result[j]!=0) break; if(i<point) printf("."); while(i>=j) { printf("%d", result[i]); if(i==point && point) printf("."); i--; } printf("\n"); }
[求助]关于scanf缓冲区的疑问 问题如下:其中输入部分代码如下: while(i<5) { printf("input number a[%d]:\n",i); scanf("%lf ",&a[i]);//%lf后有个空格 b[i]=1/a[i]; result+=b[i]; i++; } 运行效果如下图,第一次总要输入2个数后才会进入下一步后来去除%lf后的空格后可以正常运行,如下图:谁能解释下第一次为什么需要输入2个数才能进入下一步,实在想不明白多谢!
有关C\C++的认证证书 如题,小弟打算转行做程序员,语言主攻C\C++. 但是因为本人非计算机及相关专业,所以打算考个比较权威的证书当敲门砖, 请问C有没有比较权威的认证考试,都有哪些,请大神们指点下吧,谢谢!
高数习题1-14求解 高数习题解答例1-14 其中有一步是 f(x)=(sint/sinx)^x=exp (sint/sinx-1)*x 哪位能帮忙讲下推导过程,谢谢
1
下一页