2014-04-01 52 views
0

我收到以下錯誤(和更多的語法錯誤,我可以更正)。任何想法爲什麼以及如何解決它?二進制無效操作有int和複雜int

In function 'main':| 

21|error: invalid operands to binary < (have 'int' and 'complex int')| 


24|error: invalid operands to binary % (have 'complex int' and 'int')| 

26|error: invalid operands to binary <= (have 'int' and 'complex int')| 

28|error: invalid operands to binary <= (have 'int' and 'complex int')| 

源:

#include<stdio.h> 
main() 
{ 
    int t,flag,i,j,k,no[20]; 
    scanf("%d",&t); 
    for(i=1;i<=t;i++) 
    scanf("%d",&no[i]); 

    for(j=1;j<=t;j++){ 

    if(no[j]%3==0){ 
    for(i=1;i<=no[j];i++){ 
     printf("5");} 
     printf("\n");} 


    else{ 
      i=1; 
      flag=0; 
    while(flag==0){ 
    if(no[j]<5i) 
     printf("-1"); 

    else if((no[j]-5i)%3==0){ 
     flag=1; 
     for(k=1;k<=(no[j]-5i);k++) 
      printf("5"); 
     for(k=1;k<=5i;k++) 
     printf("3");} 
     else 
     i++; 
    } 
+2

5i是一個錯字,如果不是你期望的結果是什麼? –

回答

1

5icomplex numberAt least in gcc it is)。只需使用5。 (或者5*i既然你說你的意思繁殖。)


在未來你可以自己解決這樣的問題,幾個簡單的步驟:

  1. 讀取錯誤:

    21|error: invalid operands to binary < (have 'int' and 'complex int')|

  2. 查找行:

    if(no[j]<5i)

  3. 想:

    的操作數<no[j]5i。我看到no[j]聲明爲int所以必須處理5i爲「複雜詮釋」

  4. 再加上一點點的搜索驗證:

    "c language complex numbers"不轉了什麼,但"gcc support for complex numbers"做到了。

+0

不看代碼我希望它乘以5 ..因爲我想比較值與5i,因爲我從1增加..所以我= 1,5然後我= 2 ..10等等... – user3424954

+1

@ user3424954'5 * i',然後 –

+2

然後使用5 * i。 C不懂代數符號。 – AShelly

相關問題