早教吧作业答案频道 -->其他-->
有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个数,已按从小到大顺序排...的网友还看了以下:
已知一个数字串由1,22,333,4,55,3,6七个部分组成且满足下列条件:数字串的开头一定是1 2020-05-14 …
对于一个约束条件比未知数多的方程组是不是无解如题还有比如一个矩阵AMNM行N阶如果M大于N那么以这 2020-06-25 …
在一个100条语句的列表中,第n条语句是“在这个列表中,恰有n个语句为假”.a)从这些语句中你可以 2020-07-13 …
我想把327.6,除以5的整数部份乘以5列一个表格,余数列一个表格.意思就是325一个表格,2.6 2020-07-19 …
124578这四个数改变顺序可以排列成多少个四位数应该是:124578这六个数改变顺序可以排列成多少 2020-11-03 …
除法,在80除以20列竖式中,为什么4要写在个位上.我知道是写在个位上,如果给孩子讲的话怎样更好理解 2020-11-10 …
每1万个中国人中有几个科学家和技术人员在《特别关注》的一篇文章里看到一句话:以色列在教育上的投入确保 2020-12-03 …
输入两列文字列(s1,s2)(1)依次显示文字列以及文字数.(不要使用strlen(),strnle 2020-12-18 …
求一道“等差数列”证明题3、已知一个无穷等差数列的首项为a1,公差为d:(2)取出数列中的所有奇数项 2020-12-29 …
读下列材料,回答19~23题加沙地带医疗部门26日说,以色列战机当天凌晨对加沙地带的两个地点实施轰炸 2021-01-06 …