程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言問答 >> c語言程序編譯問題

c語言程序編譯問題

編輯:C語言問答

c語言程序編譯問題

#include <stdio.h>
int check();
main()
{  int flag;
   int score[5][5]={{17,24,1,8,15},{23,5,7,14,16},{4,6,13,20,22},{10,12,19,21,3},{11,18,25,2,9}};
   int i,j;
   flag=check(score);
   if(flag)
    { for(i=0;i<5;i++)
     { for(j=0;j<5;j++)
      printf("%4d",score[i][j]);
         }
      printf("\n");
     }
   else
    { printf("no");}
}

 

int  check(int score[][5])
 {  int i,j;
    static int s[5],sum[5];
 int sum1=0,sum2=0;
    for(i=0;i<5;i++)
   {for(j=0;j<5;j++)
     {s[i]=s[i]+score[i][j];
   sum[i]=sum[i]+score[i][j];
      }
       }
 for(i=0;i<5;i++)
  { sum1=sum1+score[i][i];
    sum2=sum2+score[i][4-i];
   }
 for(i=0;i<5;i++)
  {if(sum[i]==s[i]&&s[i]==sum1&&sum1==sum2)
     return 1;
   else
     return 0;
  }
}我自己定義的函數不能調用好像,而且有return返回值時他講

  D:\學習課件\c語言編程\幻型方正\1.c(41) : warning C4715: 'check' : not all control paths return a value這是什麼意思啊


  
    

 

最佳回答:

你的程序我修改了一下,就是參數傳遞問題細心點仔細對照看看:代碼如下:

 #include <stdio.h>


int check(int score[][5]); ///參數傳遞


void main()
{  int flag;
   int score[5][5]={{17,24,1,8,15},{23,5,7,14,16},{4,6,13,20,22},{10,12,19,21,3},{11,18,25,2,9}};
   int i,j;
   flag=check(score);
   if(flag)
    { for(i=0;i<5;i++)
     { for(j=0;j<5;j++)
      printf("%4d",score[i][j]);
         }
      printf("\n");
     }
   else
    { printf("no");}
}

 

int  check(int score[][5])   ///////////注意參數傳遞,保持與前面定義相同
 {  int i,j;
    static int s[5],sum[5];
 int sum1=0,sum2=0;
    for(i=0;i<5;i++)
   {for(j=0;j<5;j++)
     {s[i]=s[i]+score[i][j];
   sum[i]=sum[i]+score[i][j];
      }
       }
 for(i=0;i<5;i++)
  { sum1=sum1+score[i][i];
    sum2=sum2+score[i][4-i];
   }
 for(i=0;i<5;i++)
  {if(sum[i]==s[i]&&s[i]==sum1&&sum1==sum2)
     return 1;
   else
     return 0;
  }
 return 0;
}

 

//希望能幫到你!

追問:
還是不行啊?、
追問:

對了對了,,那麻煩你再看看這個#include <stdio.h>
void ARM();
int TERM();
int TERM1();
main()
{  int a,b;
   int i,n;
   int score[30],num[30];
   scanf("%d,%d",&score[0],&num[0]);
   for(i=0;i<=29&&score[i]>0;i++)
     scanf("%d,%d",&score[i],&num[i]);
   n=i-1;
   a=TERM(score,num,n);
   b=TERM1(score,num,n);
   ARM(score,num,n);
   printf("%d,%d",a,b);
   for(i=0;i<=n-1;i++)
     { printf("%4d,%4d",num[i],score[i]);}
}
 

int TERM1(int score[],int num[],int n)
 {   int i,j;
     int sum=0;
  float ave;
     for(i=0;i<=n-1;i++)
     sum=sum+score[i];
     ave=(float)sum/n;
  j=0;
     for(i=0;i<=n-1;i++)
    {if(score[i]>=ave)
      {  j++;
            printf("%4d,%4d",num[i],score[i]);
         }
        }
   return j;
}
 
int TERM(int score[],int num[],int n)
 { int i,j=0;
   for(i=0;i<=n-1;i++)
    {if(score[i]<60)
      {j++;
    printf("%d",num[i]);
   }
    }
     return j;
  
}

void ARM(int score[],int num[],int n)
 { int j,k;
   int temp,temp2;
   for(j=0;j<=n-2;j++)
     for(k=0;k<=n-1;k++)
   {if(score[j]>score[k])
     { temp=score[j];
        score[j]=score[k];
    score[k]=temp;
    temp2=num[j];
        num[j]=num[k];
    num[k]=temp2;
   }
    }
}             
還是編譯通過但是執行結果不對。。。。。

回答:

看看結果

 

追問:

題目不一樣了。。。。。你可以吧扣扣號給我啊

 

回答:
QQ332438633,這個程序那你要實現什麼功能?
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved