if (score[i][j]=0 score[i][j]60) t[0]++你的 運行 就判斷到這 拿她 后面的 也是大于60所以 只要大于60就 執(zhí)行 你需要 限制一下 大于60小于多少 大于70小于多少 才可以 要有限制
創(chuàng)新互聯(lián)建站主營同心網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app軟件開發(fā)公司,同心h5小程序開發(fā)搭建,同心網(wǎng)站營銷推廣歡迎同心等地區(qū)企業(yè)咨詢
else if (score[i][j]70) t[1]++;
你的 運行 就判斷到這
//測試已通過,望采納
#includestdio.h?
#define?max?10
void?input(int?arr[]){//輸入
int?i;
for(i=0;imax;i++){
printf("\nInput?arr[%2d]:?",i);
scanf("%d",arr[i]);
}
}
void?sort(int?array[]){//排序?
int?i,k,j,temp;
for(i=0;i10;i++)
{?k=i;
for(j=i+1;jmax;j++)
{if(array[j]array[k])
k=j;
}????
temp=array[k];??
array[k]=array[i];??
array[i]=temp;???
}
}
void?search(int?arr[]){
int?ins;??
int?i,j=0,k=10;
printf("\n請輸入要查找的數(shù):");?
scanf("%d",ins);??
i=(j+k)/2;?
while(j=k)??
{???if(arr[i]ins)????k=i-1;?
else????if(arr[i]ins)?????j=i+1;???
else?break;???
i=(j+k)/2;
}?
if(k=j)
printf("你查找的是其中的第%d個數(shù)。",i+1);
else
printf("你查找的不存在。");
}
void?main(){
int?arr[max];
input(arr);
printf("\nThis?is?arr:");
for(int?i=0;imax;i++)
printf("%3d??",arr[i]);
sort(arr);
printf("\nAfter?sort:?");
for(?i=0;imax;i++)??????
printf("%3d??",arr[i]);?
search(arr);
}
C語言中,函數(shù)調(diào)用的一般形式為:
函數(shù)名(實際參數(shù)表)
對無參函數(shù)調(diào)用時則無實際參數(shù)表。實際參數(shù)表中的參數(shù)可以是常數(shù)、變量或其它構(gòu)造類型數(shù)據(jù)及表達式。各實參之間用逗號分隔。
#includestdio.h
int?fun(int?x,?int?y);?//?函數(shù)聲明,如果函數(shù)寫在被調(diào)用處之前,可以不用聲明
void?main()
{
int?a=1,?b=2,?c;
c?=?fun(a,?b);?//?函數(shù)的調(diào)用,調(diào)用自定義函數(shù)fun,其中a,b為實際參數(shù),傳遞給被調(diào)用函數(shù)的輸入值
}
//?自定義函數(shù)fun
int?fun(int?x,?int?y)??//?函數(shù)首部
{??//?{}中的語言為函數(shù)體
return?xy???x?:?y;??//?返回x和y中較大的一個數(shù)
}
擴展資料
C語言中不允許作嵌套的函數(shù)定義。因此各函數(shù)之間是平行的,不存在上一級函數(shù)和下一級函數(shù)的問題。但是C語言允許在一個函數(shù)的定義中出現(xiàn)對另一個函數(shù)的調(diào)用。
這樣就出現(xiàn)了函數(shù)的嵌套調(diào)用。即在被調(diào)函數(shù)中又調(diào)用其它函數(shù)。這與其它語言的子程序嵌套的情形是類似的。其關(guān)系可表示如圖。
圖表示了兩層嵌套的情形。其執(zhí)行過程是:執(zhí)行main函數(shù)中調(diào)用a函數(shù)的語句時,即轉(zhuǎn)去執(zhí)行a函數(shù),在a函數(shù)中調(diào)用b 函數(shù)時,又轉(zhuǎn)去執(zhí)行b函數(shù),b函數(shù)執(zhí)行完畢返回a函數(shù)的斷點繼續(xù)執(zhí)行,a函數(shù)執(zhí)行完畢返回main函數(shù)的斷點繼續(xù)執(zhí)行。
參考資料:函數(shù)調(diào)用_百度百科
你問的是二叉樹吧。首先對于lchild 和 rchild,應(yīng)該明確它們是指針類型。每一個子樹本身也是樹。所以lchild和rchild應(yīng)該是指向BitNode類型的指針,所以加了*。
至于*BiTree,你可以認為 BitNode 等價于*BiTree。那么意思不就是,BiTree所指向的空間內(nèi)容是BitNode類型的數(shù)據(jù)。如主函數(shù)一開始定義的,BiTree T。此處的T就是指向BitNode的一個指針。說白了程序中凡是用BiTree定義的,都可以用BitNode*來替換。對于初始化函數(shù)InitBiTree。他的參數(shù)為一個指向BiTree的指針。函數(shù)體應(yīng)該錯了吧。應(yīng)該是*T=NULL;主函數(shù)調(diào)用該函數(shù)時,把主函數(shù)用T的地址傳遞給了形參T。即,實參是T。想想看,如果我們改變T里面的值(實際上是一個地址),這是我們的初衷嗎,T里面的值是用來尋找我們真正要操作的單元的。用*T便指向了我們所要的單元(我指的是函數(shù)體內(nèi)的操作。)。二叉樹的一系列函數(shù)中,你會發(fā)現(xiàn)有的是會改變二叉樹本身的結(jié)構(gòu)的。比如初始化,我們讓一個新樹指向NULL。還有接下來的CreateBiTree。涉及到結(jié)點的插入。這也是改變二叉樹結(jié)構(gòu)。其中的遞歸調(diào)用CreateBiTree(((*T)-lchild)); *T的意思是找到T所指的BiTree類型的數(shù)據(jù)。這個數(shù)據(jù)才能使用lchild。前面的就是取lchild的地址。因為函數(shù)聲明,參數(shù)要的是BiTree*。取地址,賦給BiTree* T (T里面放的就是地址)。主函數(shù)里面出現(xiàn)的函數(shù)叫做調(diào)用。前面加。就是取地址,傳遞給形參。還有就是一些不改變二叉樹的結(jié)構(gòu)的函數(shù)。比如PreOrderTraverse(T-lchild);它只是把二叉樹的內(nèi)容輸出去。該函數(shù),實參把自己的值賦給形參,之后形參的所有操作都與實參無關(guān)。即形參自己開辟了一塊空間,空間里的值都是照實參原樣復(fù)制一遍。然后函數(shù)的操作就是在形參這片空間里完成的。也就是說,如果要改變二叉樹的結(jié)構(gòu)內(nèi)容,就要用指針做參數(shù)。如果不需要改變,用指針倒顯得多余,用普通的值傳遞就可以了。定義變量時,出現(xiàn)了*,則表示定義了指針。在使用指針變量時,出現(xiàn)*,那也是加在變量前面的。這個是對指針?biāo)傅膯卧M行直接操作。希望對你有所幫助。