有n个数,已按从小到大顺序排列好.要求输入一个数,插入原数列中,仍然保持有序
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/22 14:21:41
有n个数,已按从小到大顺序排列好.要求输入一个数,插入原数列中,仍然保持有序
以下是我写的代码:
#include<stdio.h>
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[0])
{
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<a[10])
{
for(j=0;j<10;j++)
{
if(sum<a[j])
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<stdio.h>
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[0])
{
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<a[10])
{
for(j=0;j<10;j++)
{
if(sum<a[j])
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<stdio.h>
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[0])
{
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<a[j])//改成k=j;和break;都在if(){}块里
\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[0])
{
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<a[j])//改成k=j;和break;都在if(){}块里
\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个数,已按从小到大顺序排列好.要求输入一个数,插入原数列中,仍然保持有序
有n个数,已按由小到大顺序排列好,要求输入一个数,把它插入到原有数列中,而且仍然保持有序,同
C++ 有N个数 已按从小到大顺序排列 输入一个数 把它插入原有数列 使仍有序 输出新数列
一题VFP数组编程已有按从小到大的顺序排列的10个数,现输入一个数,要求插入到数列中,插入后数列仍然按从小到大顺序排列
n个数,已按重小到大顺序排列.在主函数中输入一个数,调用一个函数,它把输入的数插入到原数列中,保持大小顺
C编程:已有一个排好序的序列,输入一个数插入该序列中,使其仍然保持有序.(用数组知识解决.
C/C++ 在已排序好的数列中插入一个数,使数列保持从小到大的顺序.
有n个数,已有小到大的顺序排好,要求输入一个数,将它插入到数列的合适位置,使
从键盘输入一个数,将其插入到有序的数列中去,插入后的数列仍然保持以前的顺序.
我有一个vb程序,目的是:把一个给定数插到有序数列中,插入后数列仍然有序.我编写的插不进去数,
C语言编程:有序数列的数据插入问题.将一个数插入到已有10个整数的有序数列中,数据插入之后,数列仍然
含10个元素的数组,已有9个按从小到大顺序排好的数据今输入一个数,要求按原来排序的规律将它插入数组中