急求C语言程序改错结果答案
2.程序改错:以下程序有6处不能正确编译,或不能实现所要求的功能,请写出出错语句编号并改正(遗漏补在编号语句下方)。(1)任意从键盘输入10个整数,然后对它们由小到大进行...
2. 程序改错:以下程序有6处不能正确编译,或不能实现所要求的功能,请写出出错语句编号并改正(遗漏补在编号语句下方)。
(1)任意从键盘输入10个整数,然后对它们由小到大进行排序,并将排序后的结果输出,要求用形参为指针的函数编程实现排序和数组元素的输出。
#include <stdio.h> ①
void sort( ); ②
main( )
{ int t[10], i;
printf("Input ten numbers:\n");
for(i=0; i<10; i++) scanf(" %d ", &t[i]);
printf("Sort data:\n");
sort(t[], 10); ③
display(t, 10); ④
}
void sort(int *a, int n) ⑤
{ int i, j, k, temp;
for(i=0; i<n-1; i++)
{ k=i;
for(j=i+1; j<n; j++)
if((a+j)< (a+k)) ⑥
k=j;
if(k!=i) { ⑦
*(a+i)=*(a+k); ⑧
*(a+k)= *(a+i); } ⑨
}
}
void display(int *a, int n)
{ int i;
for(i=0; i<n; i++)
printf("%d ", a+i); ⑩
} 展开
(1)任意从键盘输入10个整数,然后对它们由小到大进行排序,并将排序后的结果输出,要求用形参为指针的函数编程实现排序和数组元素的输出。
#include <stdio.h> ①
void sort( ); ②
main( )
{ int t[10], i;
printf("Input ten numbers:\n");
for(i=0; i<10; i++) scanf(" %d ", &t[i]);
printf("Sort data:\n");
sort(t[], 10); ③
display(t, 10); ④
}
void sort(int *a, int n) ⑤
{ int i, j, k, temp;
for(i=0; i<n-1; i++)
{ k=i;
for(j=i+1; j<n; j++)
if((a+j)< (a+k)) ⑥
k=j;
if(k!=i) { ⑦
*(a+i)=*(a+k); ⑧
*(a+k)= *(a+i); } ⑨
}
}
void display(int *a, int n)
{ int i;
for(i=0; i<n; i++)
printf("%d ", a+i); ⑩
} 展开
展开全部
这样就可以了:
#include <stdio.h> // ①
void sort(int *a, int n); // ②
void display(int *a, int n);
main( )
{
int t[10], i;
printf("Input ten numbers:\n");
for(i=0; i<10; i++) scanf(" %d ", &t[i]);
printf("Sort data:\n");
sort(t, 10); // ③
display(t, 10); // ④
}
void sort(int *a, int n) // ⑤
{
int i, j, k,temp;
for(i=0; i<n; i++)
{ k=i;
for(j=i+1; j<n; j++)
if(*(a+j)< *(a+k)) // ⑥
k=j;
if(k!=i) { // ⑦
temp=*(a+i);
*(a+i)=*(a+k); // ⑧
*(a+k)=temp; } // ⑨
}
}
void display(int *a, int n)
{
int i;
for(i=0; i<n; i++)
printf("%d ", a[i]); //⑩
}
#include <stdio.h> // ①
void sort(int *a, int n); // ②
void display(int *a, int n);
main( )
{
int t[10], i;
printf("Input ten numbers:\n");
for(i=0; i<10; i++) scanf(" %d ", &t[i]);
printf("Sort data:\n");
sort(t, 10); // ③
display(t, 10); // ④
}
void sort(int *a, int n) // ⑤
{
int i, j, k,temp;
for(i=0; i<n; i++)
{ k=i;
for(j=i+1; j<n; j++)
if(*(a+j)< *(a+k)) // ⑥
k=j;
if(k!=i) { // ⑦
temp=*(a+i);
*(a+i)=*(a+k); // ⑧
*(a+k)=temp; } // ⑨
}
}
void display(int *a, int n)
{
int i;
for(i=0; i<n; i++)
printf("%d ", a[i]); //⑩
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询