早教吧作业答案频道 -->其他-->
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语言 【给数组中的元素按顺...的网友还看了以下:
3个人住宿,共交300元,每人出100元.过后老板说今天住宿优惠,退50元.叫服务员退给他们服务员 2020-04-07 …
一道算术题分A.B.C三人,第一件商品A花1500进货卖给C2000元,C借B2000元由B给A, 2020-05-13 …
MATLAB定义每个元素都是变量的矩阵,要求矩阵的大小是可变的.我需要用matlab写一个矩阵,矩 2020-05-16 …
一双皮鞋970元,小明向爸爸借了500元,向妈妈借了500元.拿这些钱买了这一双皮鞋,剩下30元, 2020-05-16 …
1、EXCEL里怎么计算某个区域中满足给定条件的单元格数目,统计结果随着筛选会改变countif只 2020-05-17 …
请计算一块钱在那里去了三个人去住店,每人付10元给老板,最后老板给了5元给店小二,让店小儿留2元给 2020-05-22 …
解三元一次方程!a^3-2a^2-a=0答案上写的是先给每项都除以a,变为二元一次方程,然后再解二 2020-05-23 …
为什么改变反应条件,反应速率有的会突变比如温度,浓度,为什么在图像上会有突变的,给点原理上的回答, 2020-06-28 …
甲乙丙三个人,甲给了丙500元去买鞋,已给了丙500元去买鞋,丙花了970元买鞋,剩下三十元,分给 2020-07-09 …
(一天内)给你100元,你用什么办法最快速的挣1元钱?1天怎么用100元的本金赚1元钱,最快速的方 2020-07-11 …