输入10输入n个整数求最大值,按照由大到小的顺序输出C语言编写

2010年12月 C/C++大版内专家分月排行榜第二
2010年12月 C/C++大版内专家分月排行榜第二
2012年7月 Java大版内专家分月排行榜第三2011年11月 Java大版内专家分月排行榜第三2007年12月 Java大版内专家分月排行榜第三2007年10月 Java大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 12430 人关注过本帖
标题:[求助][C语言求助]输入10个数字,并将这些数字由大到小排列
等 级:新手上路
帖 子:137
&&问题点数:0&&回复次数:14&&&
[求助][C语言求助]输入10个数字,并将这些数字由大到小排列
要求:用户输入10个数字,并将这些数字由大到小排列。我的基本思路是:
以min=a[0]为初值,利用for循环对10个数进行比较,得出最小值用t记下最小值的位置,然后把这个最小值a[t]与数组最后一个值交换,即把最小值放于最后,然后去掉最后一位,对剩余的9个数再进行比较,。。。,最后输出比较完后的数组。详细请看以下代码。#include&stdio.h&main(){int i,j,t,min,a[10];printf (\"\n input 10 number:\"); for (i=0;i&10;i++)scanf (\"%d\",&a[i]);
/*输入10个数字*/{
for (j=9;j&=0;j--)
/*外循环:j表示比较次数也表示最后一个数字的下标,*/
每循环 一次,去掉一个最小值*/
/*赋初值*/
for (i=0;i&=j;i++)
/*内循环:对数组中数字与min进行比较,得到最小值*/
if(a[i]&=min)
/*用t记下最小值位置*/
a[t]=a[j];
/*最小值与最后一位交换*/
}for(i=0;i&10;i++)
/*输出比较完后的数组*/ printf (\"%d \",a[j]);}谢谢各位了
[此贴子已经被作者于 15:23:48编辑过]
搜索更多相关主题的帖子:
等 级:新手上路
帖 子:137
哪位仁兄帮忙解决一下啊?十分非常感谢啊!
喜欢等待,因为等待是一门需要花费一生才能读懂的艺术。等待。。。
等 级:新手上路
帖 子:137
不能掉下去,朋友们帮忙吧
喜欢等待,因为等待是一门需要花费一生才能读懂的艺术。等待。。。
等 级:新手上路
我也是新人,你的嵌套我真的没看懂~~~~~而且for (i=0;i&10;i++)scanf ("%d",&a[i]);
/*输入10个数字*/{
for (j=9;j&=0;j--)
那个大括号是怎么回事?应该是这样吧:for (i=0;i&10;i++){ scanf ("%d",&a[i]);
/*输入10个数字*/
for (j=9;j&=0;j--)
等 级:新手上路
帖 子:137
/*最简单的排序方法,泡沫排序法*/#include &stdio.h&#include &stdlib.h&#define SIZE 10
int main(void){
int arr[SIZE];
/*hold用于数字交换的时候暂时保存较小的数*/
printf ("please input 10 numbers:\n");
for (i = 0; i &= SIZE - 1; i++)
scanf ("%d", &arr[i]);
for (i = 0; i &= SIZE - 1; i++) /*第一次把最大的数排到第一位,第二次把第二大数字排到第二位。。。*/
for (j = 0; j &= SIZE - 2; j++)/*由于比较的是arr[j] 和 arr[j+1],所以到SIZE-2就结束*/
if (arr[j] & arr[j+1])
hold = arr[j];
arr[j] = arr[j+1];
arr[j+1] =
for (i = 0; i &= SIZE - 1; i++)
printf ("%d ", arr[i]);
return 0;}写得有点啰嗦,不过调试了一下,应该是正确的
等 级:新手上路
帖 子:35
//这是冒泡法,我把5楼的改了一下#include &iostream&#define SIZE 10
int main(void){
int arr[SIZE];
/*hold用于数字交换的时候暂时保存较小的数*/
printf ("please input 10 numbers:\n");
for (i = 0; i &= SIZE - 1; i++)
scanf ("%d", &arr[i]);
for (i = 0; i &= SIZE - 1; i++) /*第一次把最大的数排到第一位,第二次把第二大数字排到第二位。。。*/
for (j = j &=SIZE-2 ; j++)/*由于比较的是arr[j] 和 arr[j+1],所以到SIZE-2就结束*/
if (arr[i] & arr[j])
hold = arr[i];
arr[i] = arr[j];
for (i = 0; i &= SIZE - 1; i++)
printf ("%d ", arr[i]);
system("PAUSE");
理解 *高效* 自信
等 级:新手上路
帖 子:35
说错了,上面是选择法
理解 *高效* 自信
等 级:新手上路
帖 子:1430
[CODE]#include&stdio.h&main(){int i,j,t,min,a[10]={5,3,45,87,45,3,5,3,7,3},printf ("\n input 10 number:");
for (j=9;j&=0;j--)
/*外循环:j表示比较次数也表示最后一个数字的下标,*/
每循环 一次,去掉一个最小值*/
/*赋初值*/
for (i=0;i&=j;i++)
/*内循环:对数组中数字与min进行比较,得到最小值*/
if(a[i]&=min)
/*用t记下最小值位置*/
a[t]=a[j];
/*最小值与最后一位交换*/
for(i=0;i&10;i++)
/*输出比较完后的数组*/ printf ("%d ",a[i]);return 0;}[/CODE]稍微改了下,楼主自己看吧,另外,你的min用得有点浪费,用a[t]来代替就可以了.
对不礼貌的女生收钱......
等 级:贵宾
威 望:22
帖 子:1132
如果追求速度可以用堆排(优点是遍输入遍排序),但是就10个,也就无所谓了
[此贴子已经被作者于 11:30:48编辑过]
个人ajax技术专题站:
我不会闲你烦,只会闲你不够烦!
等 级:新手上路
帖 子:137
感谢各位,特别是8楼的版主,明白哦的思路。再请问一下,这种方法叫做选择法吗?
喜欢等待,因为等待是一门需要花费一生才能读懂的艺术。等待。。。
版权所有,并保留所有权利。
Powered by , Processed in 0.050239 second(s), 7 queries.
Copyright&, BCCN.NET, All Rights Reserved#include &stdio.h&void main(){int i,j,k,a[10];for(i=0;i&10;i++)scanf("%d",&a[i]);for(i=0;i&10;i++)for(j=0;j&10-i;j++)if(a[j]&a[j+1]){k=a[j];a[j]=a[j+1];a[j+1]=k;}//追问一下,给你下半截
其它4条答案
附近的朋友等待您的帮助
包打听移动版输入10个整数,用选择法将其从小到大排序后输出
你要用什么语言编写吗:
///////////////////////////////////////////////////////
/////////////////////////////////
C语言代码:
#include
#include
int a[10],i,j,
printf("请输入十个整数: ");
for(i=0;i<10;i++)//从相关信息输入十个数据:
scanf("%d",&a[i]);
for(i=0;i<9;i++)
for(j=i+1;j<10;j++)
{
if(a[i]>a[j])//实现交换
{
sum=a[i];
a[i]=a[j];
a[j]=
}
}
printf("排序后: ");
for(i=0;i<10;i++)
printf("a[i]=%d ",a[i]);
printf("\n按任意键退出!");
getch();
}
////////////////////////////////...
你要用什么语言编写吗:
///////////////////////////////////////////////////////
/////////////////////////////////
C语言代码:
#include
#include
int a[10],i,j,
printf("请输入十个整数: ");
for(i=0;i<10;i++)//从相关信息输入十个数据:
scanf("%d",&a[i]);
for(i=0;i<9;i++)
for(j=i+1;j<10;j++)
{
if(a[i]>a[j])//实现交换
{
sum=a[i];
a[i]=a[j];
a[j]=
}
}
printf("排序后: ");
for(i=0;i<10;i++)
printf("a[i]=%d ",a[i]);
printf("\n按任意键退出!");
getch();
}
///////////////////////////////////////////////////
////////////////////////////
C++语言代码:
#include
#include
int a[10],i,j,
cout<<"请输入十个整数: ";
for(i=0;i<10;i++)//从键盘输入十个数据:
cin>>a[i];
for(i=0;i<9;i++)
for(j=i+1;j<10;j++)
{
if(a[i]>a[j])//实现交换
{
sum=a[i];
a[i]=a[j];
a[j]=
}
}
cout<<"排序后: ";
for(i=0;i<10;i++)
cout<<a[i]<<" ";
cout<<"\n按任意键退出!!!";
getch();
}
/*本程序使用简单选择法排序(从小到大)*/#include#include#includevoid main(){int a[10],i,j,k,fo...
for(j=i+1;j&n;j++)if(array[j]&array[k]) k=j;t=array[k];array[k]=array[i];array[i...
学生成绩统计分析小秘书 2.15软件大小:33KB软件语言:简体中文软件类别:国产软件/免费版/教育管理运行环境:Win9x/Me/NT/2000/XP/200...
Dim i, j, temp As Integer
&#039;交换标志
Dim exchange As Boolean
其中每两个数求和的十个数中按大小尽可能排列,a+b最小 =17a+c倒数第二小=22(注:17,39只可能出现一次,否则B=C或C=D矛盾)C+E倒数第二大=3...
答: 有没有有人用过苏维智搜软件啊,我用了四个多月了,成了三个小单,算是效果好吗?托就不要回复了
答: 好在有许多成熟的安全和网络技术,例如虚拟私有网络(VPN)和防火墙等,能够极大地提高Web服务应用的安全和性能,让开发者拥有选择安全技术的自由,而不是非得使用尚...
答: 某些ADSL调制解调器使用USB接口与电脑相连,需要在电脑上安装指定的软件以添加虚拟网卡来进行通信
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区输入10个整数,进行从小到大排序问题(我刚学C)【c语言吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:539,511贴子:
输入10个整数,进行从小到大排序问题(我刚学C)收藏
我不知道我写的程序错在哪里了,运行总是不对,求指教!基本思路是:先将第一个数分别与后九个比较,最小的数与第一交换位置,再用第二个数与后八个比较,最小的与第二个数交换位置,依次循环......二楼文字版。
c语言「京东」精选新书,热书,种类齐全,天天低价,货到付款,任你选&购&!时间有限,知识无限,京选好书-c语言,做一个读书,爱书,藏书的人!
#include &stdio.h&int main(){int i,j,num[10],t;for(i=0;i&10;i++)scanf("%d",&num[i]);j=0;for(i=0;i&10;i++){j+=1;for(;j&10;j++){if(num[j]&num[i]){t=num[i];num[i]=num[j];num[j]=t;}}}
for(i=0;i&10;i++)printf("%-5d",num[i]);return 0;}
内层for循环的表达式1出问题了
亲测已过:#include &stdio.h&int main(){int i,j,num[10],t;for(i=0;i&10;i++)scanf("%d",&num[i]);j=0;for(i=0;i&10;i++){j=0;for(;j&10-i;j++){if(num[j]&num[j+1]){t=num[j];num[j]=num[j+1];num[j+1]=t;}}} for(i=0;i&10;i++)printf("%-5d",num[i]);return 0;}
j=i+1小蝌蚪找尾巴~   --来Tcl idox东东枪 手机贴吧客户端
首先你的数组定义就不对,十个数的数组应该是num[9],还有你的那个比较过程真没看懂,建议看看冒泡排序法,很明了的一种方法。
#include &stdio.h&int main(){int
i , j , temp , sum[10] = {2,3,4,5,6,1,9,8,7,0};for(i = 0; i & 10; i++)//printf("%-5d",sum[i]);//printf("\n");//printf("%5d",sum[i]);//printf("\n");printf("%d , ",sum[i]);printf("\b\b \n");for(i =0; i & 10; i++)for(j = i+1; j & 10; j++)if( sum[i] &sum[j]){temp = sum[i];sum[i] = sum[j];sum[j] =}for(i = 0; i & 10; i++)//printf("%-5d",sum[i]);//printf("\n");//printf("%5d",sum[i]);//printf("\n");printf("%d , ",sum[i]);printf("\b\b \n");return 0;}我来蹭点经验
#include &stdio.h&int main(){int i,j,num[10],t;for(i=0;i&10;i++)scanf("%d",&num[i]);for(i=0;i&10;i++){for(j=i+1;j&10;j++){if(num[j]&num[i]){t=num[i];num[i]=num[j];num[j]=t;}}} for(i=0;i&10;i++)printf("%-5d",num[i]);return 0;拿点经验}
外层循环太多次了 i&9就可以了
瞎了。。。
直接调用stdlib的qsort多好……
这程序能得到正确结果吗
冒泡排序法?
登录百度帐号推荐应用}

我要回帖

更多关于 js 输入整数和小数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信