C语言面试题

hellosky00 2010-04-13 09:54:41
对两组数据(10000个——内存不限)的显示,当输入号码时显示,号码对应金额的数目 这是面试时候的一道试题,当时不会写,郁闷死了,望各位大侠指点一下,写个程序拜读一下,谢谢!!1
...全文
316 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
Me_Cop 2010-04-15
  • 打赏
  • 举报
回复
如果是一一对应就用结构体咯
wwj_fly_pig 2010-04-15
  • 打赏
  • 举报
回复
学习,不明白楼主的意思!
ahui5252 2010-04-15
  • 打赏
  • 举报
回复
顺序的话就数组,不顺序的话就哈唏。
MyLove_VC 2010-04-14
  • 打赏
  • 举报
回复
学习。、、
jacey_48557 2010-04-14
  • 打赏
  • 举报
回复
学习。、、
十八道胡同 2010-04-14
  • 打赏
  • 举报
回复
用结构体(2数字) 和int[10000][2]都可以的
bobo364 2010-04-14
  • 打赏
  • 举报
回复
struct node{
int num;
long money;
}nodes[10000];


没啥特别的话,定义楼上的结构体,足以解决楼主的问题了
xiaoyuer5222 2010-04-14
  • 打赏
  • 举报
回复
呵呵,不好意思,上面的insert()里的sAgData要改成sgpData
xiaoyuer5222 2010-04-14
  • 打赏
  • 举报
回复

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define ARRAYSIZE 10000

typedef struct {
int id;
double value;
}ID_VALUE;

ID_VALUE *sgpData;
ID_VALUE sAgData[ARRAYSIZE];

void insert();
void query();

int main(int argc,char **argv)
{
int ilNo;
int ilExitflag = 0;
sgpData = sAgData;


printf("----------------------请选择----------------------\n");
while (1)
{
printf(" 1.插入\n"
" 2.查询\n"
" 3.退出\n");

scanf("%d",&ilNo);
switch (ilNo)
{
case 1:
insert();
break;
case 2:
query();
break;
case 3:
ilExitflag = 1;
break;
default:
break;
}
if (ilExitflag == 1)
break;
}
return 0;
}

void insert()
{
printf("输入id号:");
scanf("%d",&sAgData->id);
printf("输入金额: ");
scanf("%lf",&sAgData->value);
sgpData++;
}

void query()
{
int ilRc;
int ilFoundflag = 0;
ID_VALUE *slp = sAgData;
printf("输入id号: ");
scanf("%d",&ilRc);
while (slp < sgpData)
{
if (ilRc != slp->id)
slp++;
else
{
ilFoundflag = 1;
printf("%.2f\n",slp->value);
break;
}
}
if (ilFoundflag != 1)
printf("此id号[%d]不存在\n",ilRc);
}
//如果有初始数据就不用插入了
//查询大概就是这个样子了
//id号肯能要判下唯一
//自己改造下吧
jobszheng5 2010-04-14
  • 打赏
  • 举报
回复
嘿嘿,学习了~~
有意思,我有一回面试居然考了一道逻辑推理题!
kacasy 2010-04-14
  • 打赏
  • 举报
回复
金额用数组,序号对应偏移量应该可以
keepm 2010-04-14
  • 打赏
  • 举报
回复
确实看不明白意思,两组数据的话,用数组解决就可以了
复杂一点的话,可以用指针,也灵活一些
田暗星 2010-04-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cy330206 的回复:]
是不是二个数组一个用来存放原码,一个用来存放相应的钱。。。
[/Quote]

不明白
bjybzxj 2010-04-14
  • 打赏
  • 举报
回复
学习~
netlover2008 2010-04-14
  • 打赏
  • 举报
回复
不明白题目意思。。。
东莞某某某 2010-04-13
  • 打赏
  • 举报
回复
struct node{
int num;
long money;
}nodes[10000];
heimaofj 2010-04-13
  • 打赏
  • 举报
回复
没有明白,请楼主描述详细一点
十八道胡同 2010-04-13
  • 打赏
  • 举报
回复
题目什么意思?
Superisys 2010-04-13
  • 打赏
  • 举报
回复
感觉完全是考查找算法。。。
弄简单点就用二维数组a[10000][2],还是按号码顺序存储的,就很简单了呀
jbz001 2010-04-13
  • 打赏
  • 举报
回复
没看明白你的意思
加载更多回复(2)

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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