编程C语言(不要用C++):编写一个程序完成以下功能:

1、输入10个学生的单科成绩(0~100之间)。2、从高分到低分排序。3、输入一个成绩x(0~100),在已经排序的学生成绩中进行查找。若存在,在主函数中输出其所在位置,... 1、输入10个学生的单科成绩(0~100之间)。2、从高分到低分排序。3、输入一个成绩x(0~100),在已经排序的学生成绩中进行查找。若存在,在主函数中输出其所在位置,否则,将x插入适当位置,新形成的数列依然按从高到低排序。要求:函数input实现数据输入,函数sort实现排序,函数search实现查找,函数insert实现查找,函数display实现数据输出。 展开
 我来答
_叶子妞妞_
2015-06-11 · TA获得超过3672个赞
知道小有建树答主
回答量:327
采纳率:83%
帮助的人:88.9万
展开全部

代码如下,附测试主函数

#include <stdio.h>
void input(int *a, int n)
{
int i;

for(i = 0; i < n; i ++)
scanf("%d",a+i);
}
void sort(int *a, int n)
{
int i, j, t;
for(i = 0; i < n-1; i ++)
for(j = i + 1; j < n; j ++)
if(a[i] < a[j])
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
}

int search(int *a, int n, int v)
{
int i;
for(i = 0; i < n; i ++)
if(a[i] == v) break;
if(i == n) return -1;
return i;
}

int insert(int *a, int n, int v)
{
int i;

for(i = n-1; i >=0; i --)
{
if(a[i] >= v) break;
a[i+1] = a[i];
}
a[i+1] = v;
return n+1;
}
void display(int *a, int n)
{
int i;

printf("%d scores\n", n);
for(i = 0; i < n; i ++)
printf("%d ", a[i]);
printf("\n");
}
int main()
{
int a[20];
int n = 10;
int r,v;

input(a, n);
display(a,n);
sort(a, n);
display(a,n);
scanf("%d",&v);
r = search(a,n,v);
if(r == -1)
n = insert(a,n,v);
else printf("find value at %d\n", r);
display(a,n);

return 0;
}
风若远去何人留
2016-01-14 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450126
专业C/C++软件开发

向TA提问 私信TA
展开全部
要编写C语言程序,可以按照如下步骤进行:

1 确定实现功能;
2 确定需实现模块;
3 设计数据流;
4 分块实现代码。

对于初学者,或比较大的程序时,可以在3中画程序流程图,辅助设计。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式