标题:数组题
只看楼主
小笑孩
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-11-24
 问题点数:0 回复次数:6 
数组题

问题是:把一个整数按从小到大的顺序插入已排好序的数组中.
我得程序是:
#include<stdio.h>
void main()
{
int a[12];
int i,j,t;
printf("input 10 numbers:\n");
for(i=1;i<11;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=1;j<10;j++)
for(i=1;i<=10-j;i++)
if(a[i]>a[i+1])
{
t=a[i];a[i]=a[i+1];a[i+1]=t;
}
printf("the sorted munbers:\n");
for(i=1;i<11;i++)
printf("%d\t",&a[i]);
for(i=1;i<11;i++)
scanf("%d",&a[i]);
printf("input a number again:\n");
scanf("%d",&a[11]);
printf("\n");
for(j=1;j<11;j++)
for(i=1;i<=11-j;i++)
if(a[i]>a[i+1])
{
t=a[i];a[i]=a[i+1];a[i+1]=t;
}
printf("the sorted munbers:\n");
for(i=1;i<12;i++)
printf("%d",&a[i]);
}

运行不出来.

搜索更多相关主题的帖子: void int main 整数 
2006-11-25 15:31
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
以下是引用小笑孩在2006-11-25 15:31:32的发言:

问题是:把一个整数按从小到大的顺序插入已排好序的数组中.
我得程序是:
#include<stdio.h>
void main()
{
int a[12];
int i,j,t;
printf("input 10 numbers:\n");
for(i=1;i<11;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=1;j<10;j++)
for(i=1;i<=10-j;i++)
if(a[i]>a[i+1])
{
t=a[i];a[i]=a[i+1];a[i+1]=t;
}
printf("the sorted munbers:\n");
for(i=1;i<11;i++)
printf("%d\t",&a[i]); //这10个数已经排好序了.要做的是把第11个数插入.
for(i=1;i<11;i++)
scanf("%d",&a[i]);
printf("input a number again:\n");
scanf("%d",&a[11]);
printf("\n");
for(j=1;j<11;j++) //这里怎么还在排序
for(i=1;i<=11-j;i++)
if(a[i]>a[i+1])
{
t=a[i];a[i]=a[i+1];a[i+1]=t;
}
printf("the sorted munbers:\n");
for(i=1;i<12;i++)
printf("%d",&a[i]);
}

运行不出来.


倚天照海花无数,流水高山心自知。
2006-11-25 17:37
zhang916
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-10-1
得分:0 
以下是引用小笑孩在2006-11-25 15:31:32的发言:

问题是:把一个整数按从小到大的顺序插入已排好序的数组中.
我得程序是:
#include<stdio.h>
void main()
{
int a[12];
int i,j,t;
printf("input 10 numbers:\n");
for(i=1;i<11;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=1;j<10;j++)
for(i=1;i<=10-j;i++)
if(a[i]>a[i+1])
{
t=a[i];a[i]=a[i+1];a[i+1]=t;
}
printf("the sorted munbers:\n");
for(i=1;i<11;i++)
printf("%d\t",&a[i]); // a[i]
for(i=1;i<11;i++) //??? 删除
scanf("%d",&a[i]);

printf("input a number again:\n");
scanf("%d",&a[11]);
printf("\n");
for(j=1;j<11;j++)
for(i=1;i<=11-j;i++)
if(a[i]>a[i+1])
{
t=a[i];a[i]=a[i+1];a[i+1]=t;
}
printf("the sorted munbers:\n");
for(i=1;i<12;i++)
printf("%d",&a[i]);
}

运行不出来.

2006-11-25 18:16
小笑孩
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-11-24
得分:0 
以下是引用nuciewth在2006-11-25 17:37:46的发言:

for(i=1;i<11;i++)
printf("%d\t",&a[i]); //这10个数已经排好序了.要做的是把第11个数插入.
for(i=1;i<11;i++)
scanf("%d",&a[i]);
printf("input a number again:\n");
scanf("%d",&a[11]);
printf("\n");
for(j=1;j<11;j++) //这里怎么还在排序
for(i=1;i<=11-j;i++)
if(a[i]>a[i+1])
{
t=a[i];a[i]=a[i+1];a[i+1]=t;
}
printf("the sorted munbers:\n");
for(i=1;i<12;i++)
printf("%d",&a[i]);
要得是第十一个数插入后也要排好序,所以我在那个地方又排序了.

2006-11-26 10:22
hzlqzh2006
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-11-22
得分:0 
以下是引用小笑孩在2006-11-25 15:31:32的发言:

问题是:把一个整数按从小到大的顺序插入已排好序的数组中.
我得程序是:
#include<stdio.h>
void main()
{
int a[12];
int i,j,t;
printf("input 10 numbers:\n");
for(i=1;i<11;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=1;j<10;j++)
for(i=1;i<=10-j;i++)
if(a[i]>a[i+1])
{
t=a[i];a[i]=a[i+1];a[i+1]=t;
}
printf("the sorted munbers:\n");
for(i=1;i<11;i++)
printf("%d\t",&a[i]); /*多了个取地址符&,删了*/
for(i=1;i<11;i++)
scanf("%d",&a[i]);
printf("input a number again:\n");
scanf("%d",&a[11]);
printf("\n");
for(j=1;j<11;j++)
for(i=1;i<=11-j;i++)
if(a[i]>a[i+1])
{
t=a[i];a[i]=a[i+1];a[i+1]=t;
}
printf("the sorted munbers:\n");
for(i=1;i<12;i++)
printf("%d",&a[i]); /*多了个取地址符&,删了*/

}

运行不出来.


2006-11-26 10:40
小笑孩
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-11-24
得分:0 

我粗心错了不过,改后,运行时还是有问题.

2006-11-26 11:04
smartwind
Rank: 1
等 级:新手上路
威 望:1
帖 子:277
专家分:0
注 册:2006-11-13
得分:0 
#include<stdio.h>
void main()
{
int a[12];
int i,j,t;
printf("input 10 numbers:\n");
for(i=1;i<11;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=1;j<11;j++)
for(i=1;i<=11-j;i++)
if(a[i]>a[i+1])
{
t=a[i];a[i]=a[i+1];a[i+1]=t;
}
printf("the sorted munbers:\n");
for(i=1;i<11;i++)
printf("%d\t",a[i]);
/*for(i=1;i<11;i++)
scanf("%d",&a[i]);*/ //为什么又重新输入一次?我认为这段不需要
printf("input a number again:\n");
scanf("%d",&a[11]);
printf("\n");
for(j=1;j<12;j++)
for(i=1;i<=12-j;i++)
if(a[i]>a[i+1])
{
t=a[i];a[i]=a[i+1];a[i+1]=t;
}
printf("the sorted munbers:\n");
for(i=1;i<12;i++)
printf("%d",a[i]);
}

2006-11-26 11:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-105286-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.151484 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved