| ||||||||||
| 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:为什么一直Compile Error 求大神指点In Reply To:为什么一直Compile Error 求大神指点 Posted by:hanjiangtao at 2014-08-04 10:33:05 > Main.cpp
> F:\temp\13239684.78121\Main.cpp(69) : error C2668: 'pow' : ambiguous call to overloaded function
> math.h(575): could be 'long double pow(long double,int)'
> math.h(527): or 'float pow(float,int)'
> math.h(489): or 'double pow(double,int)'
> while trying to match the argument list '(int, int)'
>
>
> #include<cstring>
> #include<cmath>
> #include<algorithm>
> #include<iostream>
> #include<cstdio>
> using namespace std;
> int change()
> {
> int sum , i, j, n, m, lun;
> char a[20], b[20];
> memset(a, 0, sizeof(a));
> memset(b, 0, sizeof(b));
> gets(a);
> n = strlen(a);
> for(i = 0, j = 0; i < n; i++) //把里面的字母转换成数字存入字符数组中
> {
> if(a[i]=='A'||a[i]=='B'||a[i]=='C'||a[i]=='2')
> {
> b[j]='2';
> j++;
> }
> else if(a[i]=='D'||a[i]=='E'||a[i]=='F'||a[i]=='3')
> {
> b[j]='3';
> j++;
> }
> else if(a[i]=='G'||a[i]=='H'||a[i]=='I'||a[i]=='4')
> {
> b[j]='4';
> j++;
> }
> else if(a[i]=='J'||a[i]=='K'||a[i]=='L'||a[i]=='5')
> {
> b[j]='5';
> j++;
> }
> else if(a[i]=='M'||a[i]=='N'||a[i]=='O'||a[i]=='6')
> {
> b[j]='6';
> j++;
> }
> else if(a[i]=='P'||a[i]=='R'||a[i]=='S'||a[i]=='7')
> {
> b[j]='7';
> j++;
> }
> else if(a[i]=='T'||a[i]=='U'||a[i]=='V'||a[i]=='8')
> {
> b[j]='8';
> j++;
> }
> else if(a[i]=='W'||a[i]=='X'||a[i]=='Y'||a[i]=='9')
> {
> b[j]='9';
> j++;
> }
> else if(a[i]=='0'||a[i]=='1')
> {
> b[j]=a[i];
> j++;
> }
>
> }
> n = strlen(b);
> sum=0;
> m=n;
> for(j = 0; j < m; j++) //把字符数组转换成一个整数 存入 num中
> {
> lun=pow(10,n);
> sum = sum + ((int)b[j]-48)*lun;
> n--;
> }
> sum=sum/10;
> return sum; //把整数当做返回值返回到主函数中
> }
> int main()
> {
> long long num;
> int i, j, count, digel[100010], st[1000], en[1000];
> char w;
> while(scanf("%lld",&num)!=EOF)
> {
> w=getchar();
> memset(digel, 0, sizeof(digel));
> memset(st, 100001, sizeof(st));
> memset(en, 0, sizeof(en));
> for(i = 0; i < num; i++)
> digel[i]=change();
> sort(digel, digel+num); //对digel函数进行排序
> j=0;
> for(i = 0; i < num; i++)
> {
> if(digel[i]==digel[i+1])
> {
> st[j]=i;
> for( i=i; digel[i] == digel[i+1]; i++)
> en[j] = i + 1;
> j++;
> }
> } //对重复的进行标记
> j=0;
> for(i = 0; i < num; i++) //结果的输出
> {
>
> if(st[j]==i)
> {
> printf("%d-%d %d\n",digel[i]/10000, digel[i]%10000,en[j]-st[j]+1);
> i=en[j];
> j++;
> }
>
> }
> }
> return 0;
> }
手写一个pow吧
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator