Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:为什么一直Compile Error 求大神指点

Posted by fts2001 at 2014-08-24 20:36:39 on Problem 1002
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:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator