用c语言:输入10个数,要求输出其中最大的数
10个回答
展开全部
楼上回答得很好
其实冒泡排序或选择排序效率都是O(n^2)的,你可以实验用线性时间复杂度的哈希排序------我根据计数排序改编的
原理就是开一个数据范围内大小的数组,比如数据在1~~100000内的话就开个100000数组,然后一次扫描:
int* a = new int [100000] ;
int* b = new int [10] ;
for(int i=0;i<100000;i++) a[i] = 0 ;
for(int i=0;i<9;i++)
{
scanf("%d",&b[i]);
a [ b[i] ] ++ ;
}
for(int i=0;i<100000;i++) if( a[i] )
for(int j=0;i<a[i];j++) printf("%d,",i);
delete [] a;
其实冒泡排序或选择排序效率都是O(n^2)的,你可以实验用线性时间复杂度的哈希排序------我根据计数排序改编的
原理就是开一个数据范围内大小的数组,比如数据在1~~100000内的话就开个100000数组,然后一次扫描:
int* a = new int [100000] ;
int* b = new int [10] ;
for(int i=0;i<100000;i++) a[i] = 0 ;
for(int i=0;i<9;i++)
{
scanf("%d",&b[i]);
a [ b[i] ] ++ ;
}
for(int i=0;i<100000;i++) if( a[i] )
for(int j=0;i<a[i];j++) printf("%d,",i);
delete [] a;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我看了一下,嘿嘿.
第一楼的那位写的还可以,只是他少掉了,输入10个数的那段.
而第二楼的那位则是完全搞错了楼主的意思,他所写的跟本就不能符合要求.
以下是我写的,大家多多指教.(我主要的针对整数来写的)
mai()
{
int a[10],max,i;
scanf("%d,&a[10]");
max=a[0];
for(i=1;i<10;i++)
{
if(a[i]>max)
max=a[i];
}
printf("max/n");
}
多多指教.
第一楼的那位写的还可以,只是他少掉了,输入10个数的那段.
而第二楼的那位则是完全搞错了楼主的意思,他所写的跟本就不能符合要求.
以下是我写的,大家多多指教.(我主要的针对整数来写的)
mai()
{
int a[10],max,i;
scanf("%d,&a[10]");
max=a[0];
for(i=1;i<10;i++)
{
if(a[i]>max)
max=a[i];
}
printf("max/n");
}
多多指教.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给出主要算法
int a[10];
int max,i;
max=0;
for(i=0;i<10;i++)
{
if(a[i]>max)
{
max=a[i];
}
}
最后 max中存放的是最大的数
int a[10];
int max,i;
max=0;
for(i=0;i<10;i++)
{
if(a[i]>max)
{
max=a[i];
}
}
最后 max中存放的是最大的数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2022-12-01 · 百度认证:北京惠企网络技术有限公司官方账号
关注
展开全部
方法1:(利用比较法)
方法2:(利用起泡法)
方法3:(利用函数的模块化设计)
扩展资料
c语言程序结构:
1、判断语句(选择结构):
if 语句:“如果”语句;if—else 语句:“若?(则)?否则?”语句;switch 语句:“切换”语句;switch—case:“切换—情况”语句。
2、循环语句(循环结构):
while 语句:“当?”语句;do—while 语句:“做?当?(时候)”语句;for 语句:条件语句(即“(做)?为了?”语句)。
3、跳转语句(循环结构:是否循环):
goto 语句:“转舵”语句,也称“跳转”语句;break 语句:“中断”(循环)语句,即结束整个循环;continue 语句:“继续”语句(结束本次循环,继续下一次循环);return 语句:“返回”语句。
参考资料来源:百度百科——C语言
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以参考C语言教程中相关程序,编写程序
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询