请判断哪个程序更好?!
来源:互联网 发布:中国8月信贷数据 编辑:程序博客网 时间:2024/04/29 02:51
题目:有一个已经排好序的数组。现输入一个数,要求按照原来的规律将它插入数组中。
方法一
1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后
此元素之后的数,依次后移一个位置。
2.程序源代码:
#include "stdio.h"
#include "conio.h"
main()
{
int a[11]={1,4,6,9,13,16,19,28,40,100};
int temp1,temp2,number,end,i,j;
printf("original array is:/n");
for(i=0;i<10;i++)
printf("%5d",a[i]);
printf("/n");
printf("insert a new number:");
scanf("%d",&number);
end=a[9];
if(number>end)
a[10]=number;
else
{
for(i=0;i<10;i++)
{
if(a[i]>number)
{
temp1=a[i];
a[i]=number;
for(j=i+1;j<11;j++)
{
temp2=a[j];
a[j]=temp1;
temp1=temp2;
}
break;
}
}
}
for(i=0;i<11;i++)
printf("%6d",a[i]);
getch();
}
方法二
程序分析:
原题没有说清是什么规律的顺序,先设为按数字的大小顺序由大到小
原题没有说清已知数组a[ ]元素个数,设数组b[ ]、元素个数比已给数组多一个,以便插入新数字
把数组的a[]元素顺序赋值给数组b[ ],把输入的数字赋值给b[ ]数组的最后一个元素
数组b[ ]的最后一个元素和前一个元素比较大小,大的放在前,小的放在后
程序源程序:
#include "stdio.h"
main()
{
int a[6]={15,13,10,9,8,7};
int b[7];
int i;
int x,y;
for(i=0;i<6;i++)
printf("%3d",a[i]);
printf("/nplease insert a number/n");
scanf("%d",&x);
b[6]=x;
for(i=0;i<6;i++)
{b[i]=a[i];
printf("%3d",b[i]);}
for(i=6;i>0;i--)
{ if(b[i]>b[i-1])
{y=b[i];
b[i]=b[i-1];
b[i-1]=y;}
else
break;
}
printf("/n");
for(i=0;i<7;i++)
printf("%3d",b[i]);
}
- 请判断哪个程序更好?!
- winpython, anaconda 哪个更好?
- 触发器与java程序哪个更好?比较触发器与java程序处理
- 分手快乐---(哪个更好呢)
- NFS或iSCSI哪个更好
- JDO与JPA哪个更好?
- HttpClient和HttpURLConnection哪个更好
- Debian VS CentOS哪个更好
- java算法程序题,输入三个数求哪个是最大数,先判断这三个数是否整数,不是就打印提示:请输入数字,若是就打印出那个最大数
- AMD 和 INTEL,运行Java哪个更好?
- C和C++哪个更好用一些
- c++和c#哪个做界面更好
- .NET与JAVA哪个前景更好?
- JAVA和.NET 选哪个更好呢???
- JDE二次开发和BI哪个前景更好??
- [技术讨论]Uml工具哪个更好
- JSON与XML哪个更好(2)
- Android和ios哪个前景更好
- ajax读取新闻列表的loading效果
- Spring MVC 中如何设置使用多视图解析器--JSP与FreeMarker合作工作
- 论文总体评价
- 一个简单的C++程序反汇编解析
- 关于asp.net Session丢失问题的总结
- 请判断哪个程序更好?!
- 小知识
- 新的动画换皮肤设想~
- 运用Direct技术进行图像裁减的实现
- 一个绝好的工作方式
- js鼠标滑过出层手动关闭2--覆盖内容
- sql server datetime 与char之间的装换
- java连接ACCESS数据库的简单示例
- 技术jsp