主页 > 科技动态 >C语言编程数组排列

C语言编程数组排列

作者: 时间:2020-07-04 744° 科技动态
C语言编程数组排列

用排序算法满足题意也可以用下面的程序,只做了3次交换#includeintmain(void){ inti=1,j=9,k; inta[10]={5,3,2,1,6,7,9,8,0,4}; while(1) { //从前往后找到第一个a[0]的数 i=1; while(a[i]a[0])j--; //跳出循环,小于a[0]和大于a[0]的数已经排好了 if(i>j)break; //交换 k=a[i]; a[i]=a[j]; a[j]=k; //输出数组 for(i=0;i<10;i++) { printf("%d",a[i]); } printf(" "); } //从前往到第一个大于a[0]的数 i=1; while(a[i]#include
int main() {
int a[10] = {5,2,4,6,3,0,7,8,9,1};
int i,j,flag = 0,temp;
for(i = 1;i < 10;i++) {
if(a[i] < a[flag]) {
temp = a[i];
for(j = i; j > flag; --j)
a[j] = a[j - 1];
a[flag] = temp;
++flag;
}
}
for(i = 0;i < 10;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}你可以参考一下快速排序的思想。网上有很多,最好还是自己看明白
编程,关于数组的


int[,]a;

是二维数组,是C#语言里面的多维数组(C# 编程指南)你所提到的多维数组。
  数组可以具有多个维度。例如,下列声明创建一个四行两列的二维数组。int[,]array=newint[4,2];

  下列声明创建一个三维(4、2 和 3)数组。int[,,]array1=newint[4,2,3];


如果一个四维数组,按int [ ,,, ]a这种方法定义的。最后两维其实不是什么二维数组。
要注意跟交错数组区分。交错数组是元素为数组的数组。交错数组元素的维度和大小可以不同。交错数组有时称为“数组的数组”。
  由于C#是面向对象的语言,在大多是情况下不需要了解储存机制。因此不需要理会行/列的关系。
  如果必须依赖储存关系,只有在unsafe关键字使用的情况下才有用。


c语言数组编程问题
#include"stdio.h"
void main()
{
float a[11],c;
int b,d;
c=0;
for (b=1;b<=10;b++)
scanf ("%f",&a[b]);
for (b=1;b<=10;b++)
if (a[b]>=c) {c=a[b];d=b;}
printf ("%f,%d\n",c,d);

}
提的自己输第一题:
#include
void main()
{
int n[10],i,s,a=0,b=0,max,min;
printf("请输10个整数:\n");
for (i=0;i<10;i++)
{
scanf("%d",&s);
n[i]=s;
}
max=n[0];
a=0;
min=n[0];
b=0;
for(i=1;i<10;i++)
{
if(max{
max=n[i];
a=i;
}
if(min>n[i])
{
min=n[i];
b=i;
}
}
printf("最大:%d,位于第%d个\n",max,a+1);
printf("最为:%d,位于数组第%d个\n",min,b+1);
}
C语言数组编程

程序运行结果制作流程:输入分数找高最低分去掉最高分和最低分求出分平均分派排名按要求输出信息完整源码如下:#include
#include
intscore[100][100];//最大选手和评委数
floatscoreLast[100];//最后得分
floatsortTemp[100];
intMaxScore[100];
intMinScore[100];
intmain()
{
intn=0;
intm=0;
inti=0;
intj=0;
intk=0;
//1.输入分数
scanf("%d%d",&n,&m);
for(i=0;i {
printf("%d:",i+1);
for(j=0;j{
scanf("%d",&score[i][j]);
}
}
//2.找到最高分和最低分
for(i=0;i {
MaxScore[i]=MinScore[i]=0;
for(j=0;j{
if(score[i][j]>MaxScore[i])
MaxScore[i]=score[i][j];
if(score[i][j]MinScore[i]=score[i][j];
}
}
printf("C/C++学习乐园:");
//3.去掉最高分和最低分-->747821062
for(i=0;i {
for(j=0;j{
if(score[i][j]==MaxScore[i]||score[i][j]==MinScore[i])
{
for(k=j;k{
score[i][k]=score[i][k+1];
}
}
}
}
//求出平均分
for(i=0;i {
scoreLast[i]=0;
for(j=0;j{
scoreLast[i]+=score[i][j];
}
scoreLast[i]/=(float)(m-2);
sortTemp[i]=scoreLast[i];
}
for(i=0;i {
printf("%d %0.2f ",i+1,scoreLast[i]);
}
//排名
for(i=0;i {
for(j=0;j{
if(sortTemp[j]{
floattemp=sortTemp[j];
sortTemp[j]=sortTemp[j+1];
sortTemp[j+1]=temp;
}
}
}
for(i=0;i {

intsortPos=0;
for(j=0;j{
if(scoreLast[j]==sortTemp[i])
sortPos=j;
}
printf("%d %d %0.2f ",i+1,sortPos+1,sortTemp[i]);
}
system("pause");
return0;
}追问

输出样例好像不对啊追答

格式嘛?

基本流程就是这样,可能数据输入有问题定义数组
float
a[11]
赋值(也可同时在定义中赋值)
用循环计算
for(i=0;i<11;i++)
s=s+a[i];//这是和
v=s/10;
//这是平均值
这是思想,你整理下就能用

上一篇:
下一篇:

中国食品科技网|广州友邦资讯科技招聘|深圳科技资讯|网站地图