C语言简单编程(急!求助~有爱心的朋友帮下忙)
编程题:1.将某十进制正整数转换为二进制数和十六进制数。
2.建立一份同学通讯录,包含姓名、电话、通信地址、邮编、生日等信息,要求按姓名的字母顺序排列输出通讯录。
就这两个题~好心人帮忙一下 我们作业题目 要交的~!!急用 谢谢~!!!
----------------解决方案--------------------------------------------------------
爱心不是用来给别人骗老师交作业用的
----------------解决方案--------------------------------------------------------
支持楼上的!!
----------------解决方案--------------------------------------------------------
此帖不水
刚学的unsinged test=0x8000
for(i=1;i<=16;i++)
{
bit=((num&test)==0)?0:1;
printf("%d",bit)
test>>=1;
}
[[it] 本帖最后由 liyanhong 于 2008-5-21 21:57 编辑 [/it]]
----------------解决方案--------------------------------------------------------
回复 2# 的帖子
你以为我想啊我也不是专门学这个专业的
再说现在我还有其他比这个重要的事情要做了 这个我们是选修课 又不是专业课~!
----------------解决方案--------------------------------------------------------
回复 2# 的帖子
大不了不做了 也不晓得你回不哈
可别是装b一族就好~!!
----------------解决方案--------------------------------------------------------
饿师傅是最厉害的论坛强人。。怎么不会你的小菜题目呢?不过你可以自己写下
----------------解决方案--------------------------------------------------------
看下书吧!书上有这样的列子,我见过!书本上的知识还是多看看!虽然是基础!
----------------解决方案--------------------------------------------------------
刚好我昨天的作业就是 进制转换 .才写好
看看能不能帮上忙
[[it] 本帖最后由 石头大 于 2008-5-22 11:06 编辑 [/it]]
----------------解决方案--------------------------------------------------------
# include <stdio.h>
# include <malloc.h>
# define STACK_INIT_SIZE 100
# define STACLINCREMENT 10
typedef struct
{
int *base;
int *top;
int stacksize;
}sqstack;
void creatstack( sqstack *s)
{
s->top=s->base=(int *) malloc (STACK_INIT_SIZE *sizeof(int));
s->stacksize=STACK_INIT_SIZE;
}
void push (int e,sqstack *s)
{
if ( (s->top-s->base )==s->stacksize)
{
s->base=(int *) realloc (s->base,(s->stacksize + STACLINCREMENT )*sizeof(int));
s->top=s->base +s->stacksize;
s->stacksize+= STACLINCREMENT;
}
*(s->top)=e;
++s->top;
}
int pop (sqstack *s)
{
int e;
--s->top;
e=*s->top;
return (e);
}
int stackempty (sqstack *s)
{
if (s->top==s->base )return (0);
else
return (1);
}
void main()
{
int N;
int R;
int t;
sqstack s;
creatstack (&s);
printf("请输入待转换的整数N,欲转进制R\n");
scanf("%d,%d",&N,&R);
printf("%d的%d进制形式为:",N,R);
while (N)
{
push (N%R,&s);
N=N/R;
}
while(stackempty(&s))
{
t=pop(&s);
if ( t <10) printf("%d",t);
else printf("%c", t+55);
}
printf("\n");
}
[[it] 本帖最后由 石头大 于 2008-5-22 11:10 编辑 [/it]]
----------------解决方案--------------------------------------------------------