#include
#include
#define NULL 0
typedef int datatype;
typedef struct listnode //定义结构体
{
datatype data;//存放数据
struct listnode *next;
}Listnode;
typedef Listnode *linklist; //定义linklist的类型
linklist creat(datatype count,datatype ind)//创建链表及处理过程
{
linklist head,p1,p2;//定义头指针head和结点指针p1,p2
p1=p2=(Listnode *)malloc(sizeof(Listnode));//开辟储存空间
p1->data=1;
head=NULL;
p1->next=NULL;
head=p1;
datatype remd=0;//存放余数
datatype i;
for(i=1;i<=count;i++)//求次方的过程
{
p1=head;
remd=0;
while(p1)
{
p1->data=p1->data*ind+remd;
remd=0;
if(p1->data>9)
{
remd=p1->data/10;
p1->data=p1->data%10;
if(p1==p2)
{
p1=(Listnode *)malloc(sizeof(Listnode));//开辟新的储存空间
p1->data=remd;
p2->next=p1;
p2=p1;
p1->next=NULL;
}
}
p1=p1->next;
}
}
free(p1);//释放p1
return(head);
}
void print(linklist head)//输出函数
{
linklist p;
for(p=head;p;p=p->next)
printf("%d",p->data);
printf("\n");
}
void main()//主函数main
{
datatype count,ind;
printf("Please input count and ind");//输入要处理的数
scanf("%d%d",&count,&ind);
linklist head;
head=creat(count,ind);//调用函数
print(head);
}
阅读(1427) | 评论(0) | 转发(0) |