早教吧作业答案频道 -->其他-->
有n个数,已按从小到大顺序排列好.要求输入一个数,插入原数列中,仍然保持有序以下是我写的代码:#include<stdio.h>int main(){ int i,j,k,t,a[11],sum; printf("Please input 10 numbers\n"); for(i
题目详情
有n个数,已按从小到大顺序排列好.要求输入一个数,插入原数列中,仍然保持有序
以下是我写的代码:
#include
int main()
{
int i,j,k,t,a[11],sum;
printf("Please input 10 numbers\n");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
printf("\n");
printf("Please input a number:\n");
scanf("%d",&sum);
if(sum>a[9])
{
a[10]=sum;
for(i=0;i<11;i++)
{
printf("%d ",a[i]);
}
}
else if(sum {
a[10]=sum;
for(i=0;i<11;i++)
{
t=a[0];
a[0]=a[10];
a[10]=t;
}
for(i=0;i<11;i++)
{
printf("%d ",a[i]);
}
}
else if(sum>a[0]&&sum {
for(j=0;j<10;j++)
{
if(sum k=j;
break;
}
for(i=k;i<11;i++)
{
t=a[i];
a[i]=a[10];
a[10]=t;
}
for(i=0;i<11;i++)
printf("%d ",a[i]);
}
return 0;
}

以下是我写的代码:
#include
int main()
{
int i,j,k,t,a[11],sum;
printf("Please input 10 numbers\n");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
printf("\n");
printf("Please input a number:\n");
scanf("%d",&sum);
if(sum>a[9])
{
a[10]=sum;
for(i=0;i<11;i++)
{
printf("%d ",a[i]);
}
}
else if(sum {
a[10]=sum;
for(i=0;i<11;i++)
{
t=a[0];
a[0]=a[10];
a[10]=t;
}
for(i=0;i<11;i++)
{
printf("%d ",a[i]);
}
}
else if(sum>a[0]&&sum {
for(j=0;j<10;j++)
{
if(sum k=j;
break;
}
for(i=k;i<11;i++)
{
t=a[i];
a[i]=a[10];
a[10]=t;
}
for(i=0;i<11;i++)
printf("%d ",a[i]);
}
return 0;
}

▼优质解答
答案和解析
#include
int main()
{
int i,j,k,t,a[11],sum;
printf("Please input 10 numbers\n");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
printf("Please input a number:\n");
scanf("%d",&sum);
if(sum>a[9])
{
a[10]=sum;
for(i=0;i<11;i++)
{
printf("%d ",a[i]);
}
}
else if(sum {
a[10]=sum;
for(i=0;i<11;i++)
{
t=a[i];//这里是a[i]
a[i]=a[10];//这里是a[i]
a[10]=t;
}
for(i=0;i<11;i++)
{
printf("%d ",a[i]);
}
}
else if(sum>=a[0]&&sum<=a[9])//这里改成sum>=a[0]&&sum<=a[9]
{
for(j=0;j<10;j++)
{
if(sum\x09\x09\x09{
\x09\x09\x09\x09k=j;
\x09\x09\x09\x09break;
\x09\x09\x09}
}
\x09\x09a[10]=sum;//加上a[10]=sum,否则a[10]没有初始化
for(i=k;i<11;i++)
{
t=a[i];
a[i]=a[10];
a[10]=t;
}
for(i=0;i<11;i++)
\x09\x09\x09printf("%d ",a[i]);
}
return 0;
}
int main()
{
int i,j,k,t,a[11],sum;
printf("Please input 10 numbers\n");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
printf("Please input a number:\n");
scanf("%d",&sum);
if(sum>a[9])
{
a[10]=sum;
for(i=0;i<11;i++)
{
printf("%d ",a[i]);
}
}
else if(sum {
a[10]=sum;
for(i=0;i<11;i++)
{
t=a[i];//这里是a[i]
a[i]=a[10];//这里是a[i]
a[10]=t;
}
for(i=0;i<11;i++)
{
printf("%d ",a[i]);
}
}
else if(sum>=a[0]&&sum<=a[9])//这里改成sum>=a[0]&&sum<=a[9]
{
for(j=0;j<10;j++)
{
if(sum\x09\x09\x09{
\x09\x09\x09\x09k=j;
\x09\x09\x09\x09break;
\x09\x09\x09}
}
\x09\x09a[10]=sum;//加上a[10]=sum,否则a[10]没有初始化
for(i=k;i<11;i++)
{
t=a[i];
a[i]=a[10];
a[10]=t;
}
for(i=0;i<11;i++)
\x09\x09\x09printf("%d ",a[i]);
}
return 0;
}



看了 有n个数,已按从小到大顺序排...的网友还看了以下:
想用英语归纳数字:个位数(0-9),十几的数(10-19),几十的数(整十的)分别应该怎样说. 2020-04-09 …
数轴上两点A、B对应的数是-10,30啊点P从A点出发,沿数轴正方向以1单位长度/秒的速度匀速平移 2020-05-16 …
数轴上ab=m,且m是关于x的方程mx+4=2(x+m)有无数个解,cd=4,点a在数轴上表示的数 2020-06-12 …
一个数前面的数为什么小于这个数,后面的数大于这个数?比如:9前面的数是8,后面的数是10.也有人觉 2020-06-12 …
智力题:猜他各养了多少只动物?农夫共养了560只动物.羊的数量-10刚好是牛的两倍.牛的数量-10 2020-06-22 …
一个三位数,百位上的数既是奇数又是合数,十位上的数是10以内最大的质数,个位上的数是最小的合数这个 2020-06-27 …
求各种算法求如下类似算法从10到99之中选任意个数字然后那这个数字,比如xy表示89,x为8,y为 2020-06-30 …
我们平时用的是十进制数,如:3215=3*10的次+2*10的2次方+1*10+5,表示十进制的数 2020-07-04 …
一个数被10余9,被9除余8,被8除余7,求适合条件的最小正整数分析:依题意如果所求的数加上1,则 2020-07-14 …
一个小数的小数点向右移动了两位,比原来的数大10.89,这个数是()A、11.1B、11C、0.1 2020-07-17 …