English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

題目:輸入奇數個正整數(數與數用space隔開),將這些數中自小排到大之後,輸出位於中間的數之值
例如輸入1 3 4 2 5, 則輸出 3
/////////////////////////////////////////////////////////////
幫我看看哪裡錯,輸出的地方出不來,
可以的話麻煩跟我講哪裏該改或直接PO改好的給我
///////////////////////////////////////////////////////////////
#include
#include
int main(void)
{
char ch;
int num[50],score[50],i,a,j,number,count=0;

for(i=0;i<50;i++) //迴圈將值輸入於陣列中
{
scanf("%d",&num[i]);
count++; //判斷輸入值個數(共輸入幾個)

if((ch=getchar())=='\n') //當字元抓取為\n代表enter鍵
{
break;
}
}

for(i=0;i {
for(j=0;j {
a=num[i]-num[j];
}
if(a>0)
{
count++;
}
}
number=count/2; //中間數
///////////////////////////////////////
for(i=0;i {
if(score[i]==number) //輸出中間數值
{
printf("輸出%d",num[i]);
}
}
return 0;
}

2007-05-03 07:38:58 · 1 個解答 · 發問者 1 in 電腦與網際網路 程式設計

1 個解答

//Power by Visual Studio 2005
#include
#include
#define LENGTH 5
void SORT(int LEN, int* NUM){
int i,j,temp;
for(i=0;i for(j=i;j if(*(NUM+i)>*(NUM+j)){
temp=*(NUM+i);
*(NUM+i)=*(NUM+j);
*(NUM+j)=temp;
}
}
int main(int argc, char* argv[]){
//==========START==========//
int i,num[LENGTH];
for(i=0;i printf("Input a number: ");
scanf("%d",(num+i));
}
SORT(LENGTH, num);
printf("Middle number is %d.\n",*(num+LENGTH/2));
//==========END==========//
system("PAUSE");
return 0;
}

2007-05-03 08:19:05 · answer #1 · answered by Big_John-tw 7 · 0 0

fedest.com, questions and answers