早教吧作业答案频道 -->其他-->
C语言 【给数组中的元素按顺序编号】对数组 a[10] 中的十个整数从小到大进行连续编号,输出各个元素的编号.要求不能改变数组 a 中元素的顺序,且相同的整数要具有相同的编号.例如数组是:
题目详情
C语言 【给数组中的元素按顺序编号】
对数组 a[10] 中的十个整数从小到大进行连续编号,输出各个元素的编号.要求不能改变数组 a 中元素的顺序,且相同的整数要具有相同的编号.
例如数组是:A=(5,3,4,7,3,5,6,8,9,10) 则输出为:(4,1,3,7,1,4,6,8,9,10)
对数组 a[10] 中的十个整数从小到大进行连续编号,输出各个元素的编号.要求不能改变数组 a 中元素的顺序,且相同的整数要具有相同的编号.
例如数组是:A=(5,3,4,7,3,5,6,8,9,10) 则输出为:(4,1,3,7,1,4,6,8,9,10)
▼优质解答
答案和解析
算法思路很简单,就是对每个数组元素,在数组中统计比其小的元素的个数,然后该元素的序号就是统计结果加1.
#include
void main( ) {
int a[10],b[10],i,j,count;
for(i = 0; i < 10; i++)
scanf("%d",&a[i]);
for(i = 0; i < 10; i++)
{
for(j = 0,count = 0; j < 10; j++)
if(a[j] < a[i]) count++;
b[i] = count + 1;
}
for(i = 0; i < 10; i++)
printf("%3d",b[i]);
printf("\n");
}
运行结果
#include
void main( ) {
int a[10],b[10],i,j,count;
for(i = 0; i < 10; i++)
scanf("%d",&a[i]);
for(i = 0; i < 10; i++)
{
for(j = 0,count = 0; j < 10; j++)
if(a[j] < a[i]) count++;
b[i] = count + 1;
}
for(i = 0; i < 10; i++)
printf("%3d",b[i]);
printf("\n");
}
运行结果
看了 C语言 【给数组中的元素按顺...的网友还看了以下:
把下面不完整的句子补充完整,不通顺的句子改通顺,并加上标点。1.我们的童年。2.这是晴朗的一个夜晚 2020-05-13 …
求救顺口溜··烫印定位要精确模具材料要平行设备参数调整好效果一致无偏差印刷颜色要正确摆片严卡定位线 2020-05-15 …
在平面直角坐标系中,有若干个整数点,其顺序按图中“→”方向排列如图,在平面直角坐标系中,有若干个整 2020-05-16 …
一个用十六进制表示的两位整数,如果改用十进制数表示,顺序正好颠倒,该数是多少? 2020-06-05 …
数据处理过程中,以下数据处理过程中,以下顺序正确的是[]A.收集数据→整理数据→描述数据→分析数据 2020-06-11 …
什么叫公倍数,公因数,因数,实数,有理数,无理数?各举个例子.不要太长.通俗易懂的.如果可以的话, 2020-07-31 …
124578这四个数改变顺序可以排列成多少个四位数应该是:124578这六个数改变顺序可以排列成多少 2020-11-03 …
思考题为:从十位数7677782980中划去5个数字,使剩下的5个数字(先后顺序不改变)组成的五位数 2020-11-18 …
按键精灵考试问题1,写一个子程序Sub子程序(记事本句柄,分辨率X,分辨率Y),要求实现对记事本中“ 2020-11-26 …
任意给出一个五位数,将组成这个五位数的5个数码的顺序任意改变,得到一个新的五位数.那么,任意给出一个 2020-11-27 …