求简单程序

Woodz 2010-10-26 11:32:05
输入一组数字,判断并显示其中的最大的两个值
...全文
259 43 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
43 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuwujin99 2010-11-05
  • 打赏
  • 举报
回复
同一个题目 不同的做法
zfmy_lhb 2010-11-05
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <stdlib.h>

void main()
{
int a[10];
int i,j,t;
printf("input 10 numbers:\n" );

for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");

for(j=0;j<9;j++)
for(i=0;i<10;i++)
{
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}

}
printf("the sorted numbers :\n");
printf("%d,%d",a[10],a[9]);
system("pause");

}
简单的实现。我也是新手,为什么最后输出的要是a【10】和a【9】才对,不是输出a【9】和a【8】。。望解答
GuoBin509 2010-10-31
  • 打赏
  • 举报
回复
自己写去。。。。。。。。。。。。
浅行 2010-10-31
  • 打赏
  • 举报
回复
排序方法,详细见《算法导论》
ctogo 2010-10-31
  • 打赏
  • 举报
回复
用一个临时变量 依次对比更新
nix_fire 2010-10-31
  • 打赏
  • 举报
回复
简单的排序
qq331489406 2010-10-31
  • 打赏
  • 举报
回复



新手,看不懂。
times_garden 2010-10-28
  • 打赏
  • 举报
回复
我写的是一个简单的冒泡排序~就是把一堆数从大到小依次排列。LZ看看吧。
times_garden 2010-10-28
  • 打赏
  • 举报
回复

#include <iostream>
using namespace std;

int main() {
int t;
int a[10] = {12, 45, 9, 99, 4, 52, 62, 45, 81, 10}; //initialization
for (int count = 0; count < 9; ++count) { // 计数器,用来控制比较次数
for (int i = 0; i <= 9-count; ++i) {
if(*(a+i) < *(a+i+1)) {
t = *(a+i); // change the value
*(a+i) = *(a+i+1);
*(a+i+1) = t;
}
}
}
for (int j = 0; j <= 9; ++j) { // output the result
cout << *(a+j) << endl;
}
}
times_garden 2010-10-28
  • 打赏
  • 举报
回复
#include <iostream>
using namespace std;

int main() {
int t;
int a[10] = {12, 45, 9, 99, 4, 52, 62, 45, 81, 10}; //initialization
for (int count = 0; count < 9; ++count) { // 计数器,用来控制比较次数
for (int i = 0; i <= 9-count; ++i) {
if(*(a+i) < *(a+i+1)) {
t = *(a+i); // change the value
*(a+i) = *(a+i+1);
*(a+i+1) = t;
}
}
}
for (int j = 0; j <= 9; ++j) { // output the result
cout << *(a+j) << endl;
}
}
zhengjinghaohao 2010-10-27
  • 打赏
  • 举报
回复
简单的冒泡排序法就能实现
lukexc 2010-10-27
  • 打赏
  • 举报
回复
新手
我也是
Woodz 2010-10-27
  • 打赏
  • 举报
回复

if(!count)
{
max1 = num;
6
++count;
}

这个是什么意思?
龙哥依旧 2010-10-27
  • 打赏
  • 举报
回复
求最大一个值会吧?两个的就定义两个变量,存第一、第二大的!
千杯不醉-sen 2010-10-27
  • 打赏
  • 举报
回复

void main( void )
{
int num = 0,count = 0;
int max1 = 0,max2 = 0;
puts("input some digits(end of '.'):");
while( scanf("%d",&num) )
{
if(!count)
{
max1 = num;
++count;
}
if(max1 < num)//重点在这里
{
max2 = max1;
max1 = num;
}
puts("input some digits(end of '.'):");
}
printf("max1 = %d,max2 = %d\n",max2,max1);
system("pause");
}
wuying262 2010-10-27
  • 打赏
  • 举报
回复
LZ是伸手党。
汴城浪子 2010-10-27
  • 打赏
  • 举报
回复
这么简单还用求啊,随便一本C书上都有啊
Woodz 2010-10-27
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 youfeng888 的回复:]
给个意见:一是利用简单的排序方法很多
而:如果涉及到复杂的结构体数组,按照某个字段排序,就利用c++stl提供的排序也是可以的
欢迎来看下我的空间,欢迎朋友交流
[/Quote]
能贴出代码不
shexinwei 2010-10-26
  • 打赏
  • 举报
回复
不用排序!!
思想我已经在3楼说过。
代码已经贴到了8楼。
modyaj 2010-10-26
  • 打赏
  • 举报
回复
一个排序 比排序还要简单
加载更多回复(20)

33,321

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧