1
#include <stdio.h>
int succ(int x)
{
return ++x;
}
int pred(int y)
{
return --y;
}
int add(int& a,int& b)
{
int x;
if(b>0)
x=add(succ(a),pred(b));
if(b<0)
x=add(pred(a),succ(b));
if(b==0)
x=a;
if(a==0)
x=b;
return x;
}
int sub(int& a,int& b)
{
int y;
if(a==0)
y=0-b;
if(b==0)
y=a;
if(b>0)
y=sub(pred(a),pred(b));
if(b<0)
y=sub(succ(a),succ(b));
return y;
}
main()
{
printf("%d ",add(1,-10));
printf("%d ",sub(-1,-9));
}
2#include <stdio.h>
#define ListSize 20
typedef struct{
int data[ListSize];
int length;
} Seqlist;
main()
{
Seqlist *sql;
int temp;
printf("Please input ten integers:");
for(int i=0;i<10;i++)
scanf("%d",&sql->data[i]);
sql->length=10;
for(int j=sql->length-1,k=0;j>4;j--,k++)
{
temp=sql->data[k];
sql->data[k]=sql->data[j];
sql->data[j]=temp;
}
for(int m=0;m<sql->length;m++)
printf("%d ",sql->data[m]);
}
3
#include <stdio.h>
#include <malloc.h>
typedef struct node{
int data;
struct node *next;
}ListNode;
typedef ListNode * LinkList;
void Lz(LinkList &t)
{
ListNode *p,*q;
p=NULL;
while(t!=NULL)
{
q=t;
t=t->next;
q->next=p;
p=q;
}
t=p;
}
main()
{
LinkList head;
ListNode *s, *r,*l;
head=NULL;
r=NULL;
printf("Please input ten numbers:");
for(int i=0;i<10;i++)
{
s=(ListNode*)malloc(sizeof(ListNode));
scanf("%d",&s->data);
if(head==NULL)
head=s;
else
r->next=s;
r=s;
}
if(r!=NULL)
r->next=NULL;
Lz(head);
printf("The inversed ten numbers are:");
l=head;
for(int x=0;x<10;x++)
{
printf("%d ",l->data);
l=l->next;
}
}
顺序表
#include <stdio.h>
#define ListSize 20
typedef struct{
int data[ListSize];
int length;
} Seqlist;
main()
{
Seqlist *sql;
int temp;
printf("Please input ten integers:");
for(int i=0;i<10;i++)
scanf("%d",&sql->data[i]);
sql->length=10;
for(int j=sql->length-1,k=0;j>4;j--,k++)
{
temp=sql->data[k];
sql->data[k]=sql->data[j];
sql->data[j]=temp;
}
for(int m=0;m<sql->length;m++)
printf("%d ",sql->data[m]);
}
4
#include <stdio.h>
#define maxsize 100
typedef char datatype;
typedef struct{
datatype data[maxsize];
int front,rear,count;
}cycqueue;
int EnQueue(cycqueue* sq,datatype x)
{
if(sq->count==maxsize)
{
printf("full");
return 0;
}
else
{
sq->count++;
sq->data[sq->rear]=x;
sq->rear=(sq->rear+1)%maxsize;
return 1;
}
}
main()
{
int m;
cycqueue *sq;
sq->front=sq->rear=0;
sq->count= 0;
m=EnQueue(sq,'y');
printf("%d ",m);
}
5
#include <stdio.h>
int C[9];
void combin(int A[5],int B[4])
{
int m,p,temp;
for(int i=0;i<5;i++)
C[i]=A[i];
for(int j=5;j<9;j++)
C[j]=B[j-5];
for(m=0;m<8;m++)
{
// k=m;
for(p=m+1;p<9;p++)
// if(C[p]<C[k])
// k=p;
// if(k!=m)
if(C[p]<C[m])
{
temp=C[m];C[m]=C[p];C[p]=temp;
}
}
}
main()
{
int a[5]={1,2000,3000,4,1},b[4]={0,97,100,20};
combin(a,b);
for(int f=0;f<9;f++)
printf("%d ",C[f]);
}
#include <stdio.h>
int succ(int x)
{
return ++x;
}
int pred(int y)
{
return --y;
}
int add(int& a,int& b)
{
int x;
if(b>0)
x=add(succ(a),pred(b));
if(b<0)
x=add(pred(a),succ(b));
if(b==0)
x=a;
if(a==0)
x=b;
return x;
}
int sub(int& a,int& b)
{
int y;
if(a==0)
y=0-b;
if(b==0)
y=a;
if(b>0)
y=sub(pred(a),pred(b));
if(b<0)
y=sub(succ(a),succ(b));
return y;
}
main()
{
printf("%d ",add(1,-10));
printf("%d ",sub(-1,-9));
}
2#include <stdio.h>
#define ListSize 20
typedef struct{
int data[ListSize];
int length;
} Seqlist;
main()
{
Seqlist *sql;
int temp;
printf("Please input ten integers:");
for(int i=0;i<10;i++)
scanf("%d",&sql->data[i]);
sql->length=10;
for(int j=sql->length-1,k=0;j>4;j--,k++)
{
temp=sql->data[k];
sql->data[k]=sql->data[j];
sql->data[j]=temp;
}
for(int m=0;m<sql->length;m++)
printf("%d ",sql->data[m]);
}
3
#include <stdio.h>
#include <malloc.h>
typedef struct node{
int data;
struct node *next;
}ListNode;
typedef ListNode * LinkList;
void Lz(LinkList &t)
{
ListNode *p,*q;
p=NULL;
while(t!=NULL)
{
q=t;
t=t->next;
q->next=p;
p=q;
}
t=p;
}
main()
{
LinkList head;
ListNode *s, *r,*l;
head=NULL;
r=NULL;
printf("Please input ten numbers:");
for(int i=0;i<10;i++)
{
s=(ListNode*)malloc(sizeof(ListNode));
scanf("%d",&s->data);
if(head==NULL)
head=s;
else
r->next=s;
r=s;
}
if(r!=NULL)
r->next=NULL;
Lz(head);
printf("The inversed ten numbers are:");
l=head;
for(int x=0;x<10;x++)
{
printf("%d ",l->data);
l=l->next;
}
}
顺序表
#include <stdio.h>
#define ListSize 20
typedef struct{
int data[ListSize];
int length;
} Seqlist;
main()
{
Seqlist *sql;
int temp;
printf("Please input ten integers:");
for(int i=0;i<10;i++)
scanf("%d",&sql->data[i]);
sql->length=10;
for(int j=sql->length-1,k=0;j>4;j--,k++)
{
temp=sql->data[k];
sql->data[k]=sql->data[j];
sql->data[j]=temp;
}
for(int m=0;m<sql->length;m++)
printf("%d ",sql->data[m]);
}
4
#include <stdio.h>
#define maxsize 100
typedef char datatype;
typedef struct{
datatype data[maxsize];
int front,rear,count;
}cycqueue;
int EnQueue(cycqueue* sq,datatype x)
{
if(sq->count==maxsize)
{
printf("full");
return 0;
}
else
{
sq->count++;
sq->data[sq->rear]=x;
sq->rear=(sq->rear+1)%maxsize;
return 1;
}
}
main()
{
int m;
cycqueue *sq;
sq->front=sq->rear=0;
sq->count= 0;
m=EnQueue(sq,'y');
printf("%d ",m);
}
5
#include <stdio.h>
int C[9];
void combin(int A[5],int B[4])
{
int m,p,temp;
for(int i=0;i<5;i++)
C[i]=A[i];
for(int j=5;j<9;j++)
C[j]=B[j-5];
for(m=0;m<8;m++)
{
// k=m;
for(p=m+1;p<9;p++)
// if(C[p]<C[k])
// k=p;
// if(k!=m)
if(C[p]<C[m])
{
temp=C[m];C[m]=C[p];C[p]=temp;
}
}
}
main()
{
int a[5]={1,2000,3000,4,1},b[4]={0,97,100,20};
combin(a,b);
for(int f=0;f<9;f++)
printf("%d ",C[f]);
}