早教吧作业答案频道 -->其他-->
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语言 【给数组中的元素按顺...的网友还看了以下:
有些人有些事,转了一大圈,还是会回到原点!SJ的原点就是十三个人还在一起!习惯了从一数到十三!可是 2020-04-27 …
30张扑克牌魔术问题就是一副扑克牌先数30张然后放到一边拿剩下的的开始数不管是几开头都必须数到十比 2020-07-25 …
数学进制之间的转换公式是什么啊?十进制数到二进制的转换、二进制数到十进制的转换;十进制数到十六进制的 2020-11-17 …
用成语从—数到十(开头的数字)—心一意… 2020-11-18 …
一千一千地数,数到十万是第次. 2020-11-19 …
按要求写出下面的数:(1)十万十万地数,从九百七十万数到一千零一十万.9700000、、、、.(2) 2020-11-19 …
一位伟人告诫他的儿孙:“当你气恼时,请先数到十,假如怒火燃烧,那就数到一百。”这种调节情绪的方法属于 2020-11-23 …
罗圈腿的小猎狗(有删节)曹文轩一条小猎狗,走在大街上,它为它的罗圈腿感到害羞。它的主人,也就是那个猎 2020-11-25 …
一位伟人告诫他的儿孙:“当你气恼时,请先数到十,假如怒火中烧,那就数到一百。”这种调节情绪的方法属于 2020-12-17 …
有人总结出这样的经验:当你气恼时,先从一数到十,然后再说话;假如怒火中烧,那么就数到一百。一位文学家 2020-12-19 …