希望大佬幫我看看這個(gè)排序部分的代碼,我要崩潰了
#include <stdio.h>
int getsum(int score[10])
{
? ? int sum = 0;
? ? int i;
? ? for (i = 0; i < 10; i++)
? ? {
? ? ? ? sum = sum + score[i];
? ? ? ? if (i == 9)
? ? ? ? {
? ? ? ? ? ? printf("總分為 % d\n", sum);
? ? ? ? }
? ? ? ?
? ? }
? ? return 0;
}
int getmax(int score[10])
{
? ? int max,i;
? ? int index;
? ? max = score[0];
? ? index = 0;
? ? for (i = 0; i <10; i++)
? ? {
? ? ? ? ?
? ? ? ? if (score[i] > max)
? ? ? ? {
? ? ? ? ? ? max = score[i];
? ? ? ? ? ? index == i;
? ? ? ? ? ? printf("最高分為%d\n", max);
? ? ? ? }
? ? ? ??
? ? ? ??
? ? }
? ? return 0;
}
int getmin(int score[10])
{
? ? int j;
? ? int min;
? ? min = score[0];
? ? for (j = 0; j < 10; j++)
? ? {
? ? ? ? if (score[j] < min)
? ? ? ? {
? ? ? ? ? ? min = score[j];
? ? ? ? ? ? printf("最低分為%d\n", min);
? ? ? ? }
? ? }
? ? return 0;
}
float average(int score[10])
{
? ? float sum = 0;
? ? float aver;
? ? int k;
? ? for (k = 0; k < 10; k++)
? ? {
? ? ? ? sum = sum + score[k];
? ? ? ? if (k == 9)
? ? ? ? {
? ? ? ? ? ? aver = sum / 10;
? ? ? ? ? ? printf("平均分為%f\n", aver);
? ? ? ? }
? ? }
? ? return 0;
}
int down(int score[10])
{
? ? int n, t;
? ??
? ? for (n = 1; n < 10; n++)
? ? {
? ? ? ? for (t = 0; t <9-n; t++)
? ? ? ? {
? ? ? ? ? ? if (score[t+1] > score[t])
? ? ? ? ? ? {
? ? ? ? ? ? ? ? int temp;
? ? ? ? ? ? ? ? temp = score[t+1];
? ? ? ? ? ? ? ? score[t+1] = score[t];
? ? ? ? ? ? ? ? score[t] = temp;
? ? ? ? ? ? ? ??
? ? ? ? ? ? }
? ? ? ? }
? ? }
? ? printf("考試成績(jī)降序如下: \n");
? ? for (n = 0; n < 10; n++)
? ? {
? ? ? ??
? ? ? ? ? ? printf("%d ", score[n]);
? ? ? ??
? ? }
? ? return 0;
}
int main()
{
? ? int score[10] = { 67,98,75,63,82,79,81,91,66,84 };
? ? getsum(score);
? ? getmax(score);
? ? getmin(score);
? ? average(score);
? ? down(score);
? ? return 0;
}
排序結(jié)果前8個(gè)都正常,最后一個(gè)數(shù)卻是84,試了幾次都不知道毛病出在哪里
2023-06-05
t<=9-n;
缺了“=”
2022-03-04
for (t = 0; t <10-n; t++)
這樣吧應(yīng)該
2022-02-12
這個(gè)排序部分題目要求從大到小排,就只需要把從小到大排的程序中改一個(gè)地方就可以了,就把a(bǔ)rr[j]>arr[j+1]中的">"改成"<"就可以了,其他的都不用變的
2022-02-10
for(i=N-1-1;i>=0;i--)//冒泡排序
?{
? ? for(j=0;j<=i;j++)//前一個(gè)與后一個(gè)比較,直到最后
? ? ?{
? ? ? ? if(score[j]<score[j+1])//前一個(gè)小于后一個(gè)則進(jìn)行交換
? ? ? ? {
? ? ? ? ? ?temp=score[j];
? ? ? ? ? ?score[j]=score[j+1];
? ? ? ? ? ?score[j+1]=temp;
? ? ? ? }? ? ? ? ? ??
? ? ?}? ? ??
?}
2022-01-30