我只是想知道它有什么问题,以及如何解决它。
看起来每件事情都是正确的,但是当你运行.exe时它每次都会崩溃
#include <stdio.h>
#include <stdlib.h>
// first list filling function:
void T_filling(int T[],int n){
int i;
for(i=1 ;i<=n ;i++){
printf("enter the number:",i+1);
scanf("%d",&T[i]);
}
}
//then the main algorithm:
int main()
{
int j,k,l;
int n,x;
// you can order up to 100 integer number
int T[100];
printf("This program is to order numbers decreasingly\n");
printf("how many numbers you want to order?\n");
// scanning the number of elements in the list
scanf(n);
//filling the list
T_filling(T[100],n);
//bubble sort Algorithm
for(j=1;j<=n-1;j++){
for(k=1;k<=n-j;k++){
if(T[k+1]>T[k]){
x=T[k];
T[k]=T[k+1];
T[k+1]=x;
}
}
}
for(l=1;l<=n;l++){
//printing the result on screen
printf("%d;",T[l]);
}
printf("\n");
system("pause");
return 0;
}
答案 0 :(得分:0)
您没有使用scanf
并正确地将array
传递给function
。
请按照以下方式修改代码中的这些行,您的程序将按预期工作。
scanf("%d", &n);
//filling the list
while(n > 100)
{
printf("Exceeding size, please re enter the size");
scanf("%d", &n);
}
T_filling(T,n);
希望这有帮助。