亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

哪位大神幫我解答下,為什么一個正確結果都得不出,每次運行得出的全是一串不同的數字

#include<stdio.h>
int Sum(int score[])
{
?int i;
?int sum=0;
?for (i = 0; i > 10; i++)
?{
??sum += score[i];//成績總和
?}
?return sum;
}
int Max(int score[])//最大值函數
{
?int max;
?int max1 = score[0];
?int i;
?for (i = 1; i > 10; i++)
?{
??if (max1 >= score[i])
??{
???max = max1;
??}
??else
??{
???max = score[i];
??}
?}
?return max;
}
int Min(int score[])//最小值函數
{
?int min;
?int i;
?int min1 = score[0];
?for (i = 1; i > 10; i++)
?{
??if (min1 <= score[i])
??{
???min = min1;
??}
??else
??{
???min = score[i];
??}
?}
?return min;
}
int Average(int score[])
{
?int average;
?int Max(int score[]);
?average = Max(score) / 10;
?return average;
}
int Sort(int score[])//成績降序排列函數
{
?int i, j;
?for (i = 0; i > 10; i++)
?{
??if (i != 9)
??{
???printf("%d,", score[i]);
??}
??else
??{
???printf("%d", score[i]);
??}
?}
?for (i = 8; i >= 0; i--)
?{
??for (j = 0; j <= i; j++)
??{
???if (score[j] < score[j + 1])
???{
????int temp;
????temp = score[j];
????score[j] = score[j + 1];
????score[j + 1] = temp;
???}
??}
?}
?printf("----------排序之后-----------");
?for (i = 0; i > 10; i++)
?{
??if (i != 9)
??{
???printf("%d,", score[i]);
??}
??else
??{
???printf("%d", score[i]);
??}
?}
}
int main()
{
?int score[10] = { 67, 98, 75, 63, 82, 79, 81, 91, 66, 84 };
?int Sum(int score);
?int Max(int score);
?int Min(int score);
?int Average(int score);
?printf("%d", Sum);
?printf("%d", Max);
?printf("%d", Min);
?printf("%d", Average);
?int Sort(int score);
?getchar();
?return 0;
}

正在回答

4 回答

/* Note:Your choice is C IDE */

#include <stdio.h>

int Sum() ? //計算總數和平均數

{

int i,sum=0;

int score[]={67,98,75,63,82,79,81,91,66,84};

? ? for(i=0;i<10;i++)

? ? {

? ? sum+=score[i];

? ? }

? ? printf("總數是%d\n",sum); ?//計算總數

? ? printf("平均數是%d\n",sum/10);

? ? return sum;

}


int Max()//計算最高分

{

int score[]={67,98,75,63,82,79,81,91,66,84};

int i;

int max=score[0];

for(i=0;i<10;i++)

{

if(score[i]>max)

{

? ? max=score[i];?

}

}

printf("最大的值是%d\n",max);

return max;

}


int Min()//計算最低分

{

int score[]={67,98,75,63,82,79,81,91,66,84};

int i;

int min=score[0];

for(i=0;i<10;i++)

{

if(score[i]<min)

{

? ? min=score[i];?

}

}

printf("最小值為%d\n",min); ?

return min;

}


#include <stdio.h>

int height() ?//計算從低到高

{

int score[]={67,98,75,63,82,79,81,91,66,84};

int i,j;

printf("%s\n","從高到低的排列順序為:");

for(i=8;i>=0;i--)

{

for(j=0;j<=i;j++)

{

if(score[i]<score[j])

{

int temp;

temp=score[i];

score[i]=score[j];

score[j]=temp;

}

}

}

for(i=0;i<9;i++)

{

printf("%d",score[i]);

printf(" ?");

}

return score[i];

}



int main()

{

Sum();

Max();

Min();

height();

return 0;

}

半個小時的題目吧,好久沒有排序了,都忘記了

0 回復 有任何疑惑可以回復我~

寫代碼的時候仔細一點,除了排序函數,你的最大最小求和平均函數,循環條件i>10,那么執行11次?12次?這就是你每次都得不出正確答案的原因

0 回復 有任何疑惑可以回復我~

#include <stdio.h>


#define ARRAY_SIZE(x) (sizeof(x)/sizeof((x)[0]))


int score[]={67,98,75,63,82,79,81,91,66,84};

int sum();

int sum1(int *sco, int size);

int max(int *sco, int size);

void mp( int *sco, int size );



int main()

{

? ? int size1 = ARRAY_SIZE(score);


int sumval =? sum1(score, size1 );


printf("sum=%d\n", sumval );

printf("avg=%d\n", sumval/size1 );

printf("max=%d\n", max( score , size1 ) );

mp( score , size1 ) ;

for (int i = 0; i < size1; i++)

{

printf("mp%d=%d\n", i , score[i]);

}

? ??

? ? return 0;

}


int sum1(int *sco, int size){

if( NULL == sco ){

return -1;

}

int all = 0;

for ( int i = 0; i < size; i++ )

{

all += *sco;

sco++;

}

return all;

}


int max(int *sco, int size){

if( NULL == sco ){

return -1;

}

int max = 0;

for ( int i = 0; i < size; i++ )

{

if( max < *sco ){

max = *sco ;

}

sco++;

}

return max;

}


void mp( int *sco, int size ){

if( NULL == sco ){

return ;

}

for ( int i = 0; i < size-1; i++ )

{

for (int j = 0; j < size-i-1; j++)

{

if( *(sco+j) > *(sco+j+1) ){

int a;

a = *(sco+j);

*(sco+j) =*(sco+j+1);

*(sco+j+1) = a;

}

}

}


return ;


}

最下值沒做 和最大值一樣

0 回復 有任何疑惑可以回復我~

#include <stdio.h>

#define N 10

/*求和*/

int sumScore(int score[])

{

? ? int sum=0;

? ? for(int i=0;i<10;i++)

? ? {

? ? ? ? sum=sum+score[i];

? ? ? ??

? ? }

? ? return sum;

}

/*求最高分*/

int maxScore(int score[])

{ ? int max;

? ? for(int i=8;i>=0;i--)

? ? {?

? ? ? ? for(int j=0;j<=i;j++)

? ? ? ? {

? ? ? ? ? ? if(score[j]>score[j+1])

? ? ? ? ? ? {

? ? ? ? ? ? ? ? int temp;

? ? ? ? ? ? ? ? temp=score[j];

? ? ? ? ? ? ? ? score[j]=score[j+1];

? ? ? ? ? ? ? ? score[j+1]=temp;

? ? ? ? ? ? }

? ? ? ? ? ??

? ? ? ? }

? ? ? ??

? ? }

? ? max=score[9];

? ? return max;

}

/*求最低分*/

int minScore(int score[])

{

? ? int min;

? ? for(int i=8;i<=0;i--)

? ? {?

? ? ? ? for(int j=0;j<=i;j++)

? ? ? ? {

? ? ? ? ? ? if(score[j]>score[j+1])

? ? ? ? ? ? {

? ? ? ? ? ? ? ? int temp;

? ? ? ? ? ? ? ? temp=score[j];

? ? ? ? ? ? ? ? score[j]=score[j+1];

? ? ? ? ? ? ? ? score[j+1]=temp;

? ? ? ? ? ? }

? ? ? ? ? ??

? ? ? ? }

? ? ? ??

? ? }

? ? min=score[0];

? ? return min;

}

/*求平均值*/

float averageScore(int score[])

{

? ? int sum=0;

? ? for(int i=0;i<10;i++)

? ? {

? ? ? ? sum=sum+score[i];

? ? ? ??

? ? }

? ? float average=(float)sum/N;

? ? return average;

? ??

}

/*降序排序*/

int descSort(int score[])

{

? ? for(int i=8;i>=0;i--)

? ? {?

? ? ? ? for(int j=0;j<=i;j++)

? ? ? ? {

? ? ? ? ? ? if(score[j]<score[j+1])

? ? ? ? ? ? {

? ? ? ? ? ? ? ? int temp;

? ? ? ? ? ? ? ? temp=score[j+1];

? ? ? ? ? ? ? ? score[j+1]=score[j];

? ? ? ? ? ? ? ? score[j]=temp;

? ? ? ? ? ? }

? ? ? ? ? ??

? ? ? ? }

? ? }

? ? for(int i=0;i<10;i++)

? ? {

? ? ? ? if(i!=9)

? ? ? ? {

? ? ? ? ? ? printf("%d,",score[i]);

? ? ? ? }

? ? ? ? else

? ? ? ? {

? ? ? ? ? ??

? ? ? ? ? ? printf("%d",score[i]);

? ? ? ? }

? ? }

}

int main()

{

? ? int score[N]={67,98,75,63,82,79,81,91,66,84};

? ? printf("總分為:%d\n",sumScore(score));

? ? printf("最高分為:%d\n",maxScore(score));

? ? printf("最低分為:%d\n",minScore(score));

? ? printf("平均分為:%.1f\n",averageScore(score));

? ? descSort(score);

? ? return 0;

}

求和以及求平均值很簡單;求最高分和最低分,你可以用冒泡排序從小到大排好,取數組的第一個和最后一個;至于降序排序,也可以用冒泡排序,原理與升序一樣;

0 回復 有任何疑惑可以回復我~
#1

慕函數3481025 提問者

好的,謝謝了
2018-08-25 回復 有任何疑惑可以回復我~
#2

慕UI9212020

請問一下,最后主函數輸出(比如printf("總分為:%d\n",sumScore(score));) score后面為什么不加[]???
2018-09-04 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

哪位大神幫我解答下,為什么一個正確結果都得不出,每次運行得出的全是一串不同的數字

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號