1.编写一个程序,完成以下功能:(1)输入10个学生的单科成绩(0-100之间) (21.编写一个程序,完成以下功能:(1)输入10个学生的单科成绩(0-100之间)(2)从小到大排序(3)输入一个成绩x(0-100之间),在已经

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 22:38:58
1.编写一个程序,完成以下功能:(1)输入10个学生的单科成绩(0-100之间) (21.编写一个程序,完成以下功能:(1)输入10个学生的单科成绩(0-100之间)(2)从小到大排序(3)输入一个成绩x(0-100之间),在已经

1.编写一个程序,完成以下功能:(1)输入10个学生的单科成绩(0-100之间) (21.编写一个程序,完成以下功能:(1)输入10个学生的单科成绩(0-100之间)(2)从小到大排序(3)输入一个成绩x(0-100之间),在已经
1.编写一个程序,完成以下功能:(1)输入10个学生的单科成绩(0-100之间) (2
1.编写一个程序,完成以下功能:
(1)输入10个学生的单科成绩(0-100之间)
(2)从小到大排序
(3)输入一个成绩x(0-100之间),在已经排序的学生成绩中进行查找.若存在,在主函数中输出其所处的位置,否则,将x插入适当的位置,新形成的数列仍然按照从小到大排序
要求:函数input实现数据输入,函数sort实现排序,函数search实现查找,函数insert实现插入,函数display实现数据输出

1.编写一个程序,完成以下功能:(1)输入10个学生的单科成绩(0-100之间) (21.编写一个程序,完成以下功能:(1)输入10个学生的单科成绩(0-100之间)(2)从小到大排序(3)输入一个成绩x(0-100之间),在已经
#include
void sort(int c[], int n)
{
int i, j, buf;
for(i = 0; i < n; i++){
for(j = i + 1; j < n; j++){
if(c[i] > c[j]){
buf = c[i];
c[i] = c[j];
c[j] = buf;
}
}
}
}
void display(int c[], int n)
{
int i;
printf("output: ");
for(i = 0; i < n; i++){
printf("%4d", c[i]);
}
printf("\n\n");
}
int search(int c[], int n, int b)
{
int i;
for(i = 0; i < n; i++){
if(c[i] == b)
return (i+1);
}
return 0;
}
int insert(int c[], int n, int b)
{
int i, j, buf;
if(b > c[n-1]){
c[n] = b;
return 0;
}
for(i = 0; i < n; i++){
if(b < c[i]){
buf = c[i];
c[i] = b;
break;
}
}

for(j = n; j > i+1; j-- ){
c[j]= c[j-1];
}
c[j] = buf;
return 0;
}
int main()
{
int i, b, s, c[100];
printf("input:\n");
for(i = 0; i < 10; i++){
scanf("%d", &c[i]);

}
sort(c, i);
display(c, i);
while(1){
scanf("%d", &b);
if(b < 0 || b > 100){
break;
}else if((s = search(c, i, b))){
printf("site:%d\n", s);
}else{
insert(c, i, b);
display(c, ++i);
}
}
return 0;
}