| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 544 人关注过本帖
标题:[求助]两道数组排序题
只看楼主 加入收藏
ruanyap
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-5-7
收藏
 问题点数:0 回复次数:6 
[求助]两道数组排序题
请教大家两个题目:
1.在一个已排序的整形数组中,插入一个数,使之仍然有序.

2.定义一个二维数组,存储5个人的姓名和电话号码,从键盘输入姓名后,要求能输出电话号码。

[此贴子已经被作者于2007-5-11 19:59:37编辑过]

搜索更多相关主题的帖子: 电话 键盘 姓名 
2007-05-11 19:58
ruomeichen
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-5-25
收藏
得分:0 

#include "stdio.h"
#define N 11

void main()
{
int a[N]={1,2,4,6,8,9,10,11,13,16,0};
int i,j,n;
scanf("%d",&n);
if (n>=a[N-1])
a[N]=n;
for (i=0;i<N-1;i++)
{
if (a[i]>n)
{
for (j=N-1;j>i;j--)
{
a[j]=a[j-1];
}
a[i]=n;
break;
}
}
for(i=0;i<N;i++)
printf("%d",a[i]);
}

2007-05-11 21:09
我是菜鸟哦
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:921
专家分:209
注 册:2007-5-4
收藏
得分:0 

后边有的!!!!!!!
#include <stdio.h>
main()
{
int a[5]={1,2,3,4,5};/*那个已经排序的*/
int b[6];
int c,i,j,n;

scanf("%d",&c);
for(i=4;i>0;i--)
{
if(c>=a[i])
{
j=i;
break;
}
}
for(i=0;i<=j;i++)
b[i]=a[i];

n=5;
for(i=4;i>j;i--)
b[n--]=a[i];
b[j+1]=c;

for(i=0;i<6;i++)
printf("%d ",b[i]);

getch();
}


偶是菜鸟鸟偶惧WHO?!!!!
2007-05-11 21:17
psonline4
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-5-11
收藏
得分:0 
回复:(ruanyap)[求助]两道数组排序题

#include<stdio.h>
#define N 11
void getin(int *,int);
void main()
{
int a[N]={1,5,10,17,24,28,32,35,46,70},x,i;
printf("input the number which you want putinto a[11] x:");
scanf("%d",&x);
getin(a,x);
for(i=0;i<N;i++)printf("%d ",a[i]);

}

void getin(int *a,int x)
{
int i,m;
for(i=0;i<N-1;i++)if(a[i]<=x&&x<=a[i+1])m=i+1;
for(i=N-1;i>m;i--)a[i]=a[i-1];
a[m]=x;
}

2007-05-11 21:35
我是菜鸟哦
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:921
专家分:209
注 册:2007-5-4
收藏
得分:0 

第二个
#include <stdio.h>
main()
{
long a[5][2]={{1,110},{2,114},{3,120},{4,119},{5,911}};
int i,n;

printf("please input you number:\n");
scanf("%1d",&n);

for(i=0;i<5;i++)
{
if(a[i][0]==n)
{
printf("%ld: %ld\n",a[i][0],a[i][1]);
break;
}
}
getch();
}







偶是菜鸟鸟偶惧WHO?!!!!
2007-05-11 21:41
ruanyap
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-5-7
收藏
得分:0 
[讨论]回复:(ruanyap)[求助]两道数组排序题

ruomeichen 写的我看懂了把数往后移一位;
psonline4 的是引用调用函数;
“我是菜鸟哦” 写的我看不懂,for(i=4;i>0;i--)
{
if(c>=a[i])
{
j=i;?????????
break;
}
}
for(i=0;i<=j;i++)
b[i]=a[i];??????

n=5;
for(i=4;i>j;i--)
b[n--]=a[i];???????
b[j+1]=c;

“我是菜鸟哦”写的第二题定义了一个二维数组,如果姓名不用1 2 3 4 5,而用A B C D E呢?

2007-05-12 22:20
YOGIOH
Rank: 1
等 级:新手上路
帖 子:102
专家分:0
注 册:2007-5-8
收藏
得分:0 
回复:(ruanyap)[求助]两道数组排序题

#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<math.h>
#define N 10
void main()
{
char a[N][N]={{"yaoming"},{"586947"},{"xiexun"},{"971836"},{"xiexiao"},{"68754812"},{"shen"},{"5418796"},{"god"},{"825547"}};
char b[N];
int R,i;
printf("whose' number do you want to find,if you want exit input exit:");

scanf("%s",b);
while(fabs(strcmp("exit",b)))
{
R=0;

for(i=0;i<N;i+=2)
{
R=strcmp(a[i],b);
if(R==0)
{
puts(a+i+1);
break;
}
}
printf("whose' number do you want to find,if you want exit input exit:");

scanf("%s",b);
}
getch();
}


2007-05-12 23:05
快速回复:[求助]两道数组排序题
数据加载中...
 
   



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

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