python用一维数组存储学号和成绩、然后按成绩排序输出_华科计算机考研复试历年上机题汇总.doc...

华科历年上机题汇总(欢迎补全)代码都很多是我自己写的,不一定正确啊!错了可不负责任的,呵呵~~~仅供参考!

==》10年保送生上机试题

1、不借用任何字符串库函数实现无冗余地接受两个字符串,然后把它们无冗余的连接起来。 #include

#include

int main(){

char s1[200],s2[100];

int i,len1,len2;

scanf("%s %s",s1,s2);

for(i=0;i<200;i++){

if(s1[i]=='\0'){

len1=i;

break;

}

}

for(i=0;i<100;i++){

if(s2[i]=='\0'){

len2=i;

break;

}

}

for(i=len1;i

s1[i]=s2[i-len1];

}

printf("%s\n",s1);

system("pause");

}

2、输入一串数,要求建平衡二叉排序树,然后先序遍历。 3.、有4个小问,是超长整数的存储、计算、输出。要把超长整数存在一个单向循环链表中,是每四位一个节点。

注:我是用单链表写的!感觉单循环链表没有什么用处么~~~

#include

#include

#include

#define MAXLEN 100

typedef struct node{

int data;

struct node *next;

}LNode,*LinkList;

int changeString(char s[],int len){//把字符串长度变成4的整数倍;

int i,temp;

char ss[MAXLEN];

if(len%4!=0){

temp=4-len%4;//需要在前面添加的0的个数;

for(i=0;i

ss[i]=s[i];

}

for(i=0;i

s[i]='0';

}

for(i=temp;i

s[i]=ss[i-temp];

}

}

return temp;

}

LinkList createList(char *s,int len){//创建单链表;

int i,temp,add_len;

LinkList L,p,start;

if(len<=0){

return NULL;

}

add_len=changeString(s,len);

len+=add_len;

i=0;

temp=0;

while(i<4&&i

temp=temp*10+s[i]-'0';

i++;

}

L=(LinkList)malloc(sizeof(LNode));//头结点;

L->data=temp;

L->next=NULL;

start=L;

temp=0;

while(i

if((i+1)%4==1){//需新建一个结点;

p=(LinkList)malloc(sizeof(LNode));

}

temp=temp*10+s[i]-'0';

if((i+1)%4==0||i==len-1){//一个结点结束;

p->data=temp;

p->next=NULL;

start->next=p;//插入结点;

start=p;

temp=0;//重新计数;

}

i++;

}

start->next=NULL;

return L;

}

LinkList reverse(LinkList L){//逆转单循环链表;

LinkList p,q,r;

if(L!=NULL){

p=L->next;

L->next=NULL;

while(p!=NULL){

q=p;

p=p->next;

q->next=L;

L=q;

//printf("**%d\n",L->data);

}

return L;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值