重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#include stdlib.h
在同仁等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站建设、网站设计 网站设计制作专业公司,公司网站建设,企业网站建设,品牌网站制作,营销型网站建设,成都外贸网站制作,同仁网站建设费用合理。
int cmp(const void *a, const void *b)
{
student *x=(student*)a;
student *y=(student*)b;
if(x-score[0] y-score[0])//升序排序(从小到大) 如果改成,就是降序排序(从大到小)
return 1;
return 0;
}
//上面函数放在struct student下面,需要该结构
//排序方式可以灵活调整,上面我只是用第一门分数进行比较
//你也可以用其它分数进行比较,多写2个函数就行,如int cmp2(const void*a,const void*b)等等。
//排序函数
qsort(stu,STU_NUM,sizeof(stu[0]),cmp);
//stu是数组名,STU_NUM是数组元素个数,cmp就排序方式(可以替换为cmp2等等)
#includestdio.h
int main()
{
int a[10],i,j,t,k;
printf("请以次输入10个学生的成绩:");
for(i=0;i10;i++)scanf("%d",a[i]);
for(i=0;i9;i++)
{
k=i;
for(j=i;j10;j++)
if(a[j]a[k])k=j;
if(i!=k)
{
t=a[i];
a[i]=a[k];
a[k]=t;
}
}
printf("由高到低排序输出成绩:\n");
for(i=0;i10;i++)
printf("%d\n",a[i]);
return 0;
}
#include "stdio.h"
void main()
{
int i,j;
float A[11],t;
for(i=0;i10;i++)
{
printf("第%d个学生成绩:\n",i+1);
scanf("%f",A[i]);
}
for(i=0;i10;i++)
{
for(j=0;j10-i-1;j++)
{
if(A[j]A[j+1])
{
t=A[j];
A[j]=A[j+1];
A[j+1]=t;
}
}
}
printf("插入学生成绩:\n");
scanf("%f",t);
if(tA[9]) A[10]=t;
else if(tA[0])
{
for(i=9;i=0;i--)
A[i+1]=A[i];
A[0]=t;
}
else
{
for(i=9;i=1;i--)
{
A[i+1]=A[i];
if(A[i]=t A[i-1]=t)
{
A[i]=t;
break;
}
}
}
for(i=0;i11;i++)
printf("%g ",A[i]);
}
你好,我们这里需要用到数组镶套使用for函数以及冒泡算法,具体的代码如下。
#include iostream
using namespace std;
int main()
{
int s [10], i, j, t;
cout "输入10个数:";
for (i = 0; i 10; i++)
{
cout "请输入第" i+1 "名学生的成绩;" endl;
cin s[i];
}
for (i = 0; i10; i++)
{
for (j = 0; j9 - i; j++)
if (s[j]s[j + 1])
{
t = s[j + 1];
s[j + 1] = s[j];
s[j] = t;
}
}
cout "成绩由高到低为;";
for (i = 0; i10; i++)
cout s[i]"\t" ;
}
以下为效果图
很好,你调试了吗?
如果你用int main(),记得在main函数结尾时加上return 0;
还有最好在scanf前,加上printf,这样就知道我们需要输入什么值,
printf("请输入学生人数\n");
scanf("%d",n);
printf("请输入第%d同学成绩",i);
scanf("%d",a[i][0]);a[i][1]=i;}
1、写一个主函数,10个成绩放在一个数组里。
2、然后写一个求平均值的函数,返回平均值,用循环语句求和在求平均值,小学生应该都会求平均值。
3、再写一个排序算法,先模仿一个冒泡排序算法,最简单的排序算法。
这样不就三个函数了吗?,这个题主要让你初步掌握,数组,循环语句的使用,函数的调用,函数参数的传递,函数值的返回等。学习C就自己多练,多想这样会进步,代码就不写了吧,对你不好。