精确乘幂
链表节点删除
火车站
幸运儿
大数减法
毕业设计论文打印
插入链表节点
大数加法
大数乘法
大数除法
创建于遍历职工链表
排序分析
行程编码压缩算法
symmetric sort 英文题!
链表的动态增长或缩小
插入链表节点
大数减法
精确乘幂
#include<stdio.h>
#include<math.h>
int qq(int n)
{ int i, sum=1;
for(i=1;i<=n;i++)
sum=10*sum;
return(sum);
}
int main()
{
int n;
while(1)
{
char a[10000];
long int b[10000];
int k,h,m,i,j,z,g,t,q,e;
long int c=0;
if(scanf("%s%d",a,&n)==EOF)break;
if(n==0)printf("1");
else{for(i=0;a[i];i++)
if(a[i]=='.')k=i;
m=i-k-1;
for(i=k;i<k+m;i++)
a[i]=a[i+1];
h=i;
for(i=0;i<h;i++)
b[i]=a[i]-48;
for(i=0;i<h;i++)c=c*10+b[i];
for(i=0;i<h/2;i++){ t=b[i];b[i]=b[h-1-i];b[h-1-i]=t;}
for(e=1;e<n;e++)
{
for(i=0;i<h;i++)b[i]=b[i]*c;
for(j=0;j<h-1;j++)
if(b[j]>=10){t=b[j];b[j]=t%10;b[j+1]+=t/10; }
if(b[h-1]>=10)
{
t=b[h-1];
q=b[h-1];
z=1;
while(t>=10)
{
t=t/10;
z++;
}
g=z;
while(z>=1)
{
b[h+g-z-1]=q/qq(g-z)%10;
z--;
}
h=h+g-1;
}
}
if(h<m*n)
{
printf(".");
for(j=m*n-1;j>h-1;j--)printf("0");
for(j=0; ;j++)if(b[j]!=0)break;
for(i=h-1;i>=j;i--)
printf("%ld",b[i]);
}
if(h==m*n)
{ for(j=0; ;j++)if(b[j]!=0)break;
printf(".");
for(i=h-1;i>=j;i--)
printf("%ld",b[i]);
}
if(h>m*n)
{
for(j=0; ;j++)if(b[j]!=0)break;
if(j<m*n-1&&b[h-1]==0)
{
printf(".");
for(i=m*n-1;i>=j;i--)printf("%ld",b[i]);
}
if(j<=m*n-1&&b[h-1]!=0)
{ for(i=h-1;i>=m*n;i--)
printf("%ld",b[i]);
printf(".");
for(i=m*n-1;i>=j;i--)printf("%ld",b[i]);
}
if(j>=m*n)
{
for(i=h-1;i>=m*n;i--)
printf("%ld",b[i]);
}
} printf("\n");break;
}
}
return 0;
}
链表节点删除
#include<stdio.h>
#include<stdlib.h>
typedef struct tageNode{
int no;
char name[12];
struct tageNode * next;
int age;
}Node,*Linklist;
void CreatList(Linklist *L,Linklist *r)
{
Linklist p,s;
p=*L=(Linklist)malloc(sizeof(Node));
do
{
s=(Linklist)malloc((sizeof(Node)));
scanf("%d",&s->no);
if(s->no!=0)
{
scanf("%s%d",s->name,&s->age);
p->next=s;
p=s;
}
}while(s->no!=0);
p->next=NULL;
(*r)=p;
}
void ListDelete(Linklist *L,int n,Linklist *r)
{
Linklist p=NULL,q=*L;
while(q->no!=n&&q!=NULL)
{
p=q;
q=q->next;
}
p->next=q->next;
free(q);
}
void output(Linklist L)
{
Linklist p=L->next;
while(p!=NULL)
{
printf("%d ",p->no);
p=p->next;
}
}
int main()
{
void CreatList(Linklist *L,Linklist *r);
void ListDelete(Linklist *L,int n,Linklist *r);
void output(Linklist L);
Linklist L,r;
int n;
CreatList(&L,&r);
scanf("%d",&n);
output(L);
printf("\n");
ListDelete (&L,n,&r);
output(L);
return 0;
}
火车站
#include <stdio.h>
#define N 1000
struct stack {
int top;
int data[N];};
int push(struct stack *s, int number)
{
if(s->top >= N-1)
return -1;
s->data[++s->top] = number;
return s->top;
}
int pop(struct stack *s)
{if(s->top == -1)
return -1;
return(s->data[s->top--]);}
void pushpop(int train[])
{
int i, j=1;
struct stack buffer;
buffer.top = -1;
for(i = 0; i < N && train[i] != 0; i++) {
if(buffer.top>=0 && buffer.data[buffer.top] == train[i]) {
pop(&buffer); continue;
}
while(train[i] != j) {
push(&buffer, j++);
if(j >= N)
break;}
if(j >= N)
break;
else if(train[i] == j)
j++;}
if(train[i] == 0 || buffer.top == -1)
printf("Yes\n");
else printf("No\n");}
main(){
int train[N], i,n;
scanf("%d",&n);
for(i=0; i<N; i++) {
scanf("%d", train+i);
if(train[i] == 0)
break;
}pushpop(train);}
幸运儿
#include<stdio.h>
#include<stdlib.h>
typedef struct tagNode{
int data;
struct tagNode *next;
}Node,*LinkList;
void CreateLink(LinkList *L,int n)
{
LinkList p,s;
int i;
p=(*L)=(LinkList)malloc(sizeof(Node));
p->data=n;
for(i=1;n>0;n--,i++){
s=(LinkList)malloc(sizeof(Node));
s->data=i;
p->next=s,p=s;
}
p->next=NULL;
}
int main()
{
int i,j,m,n,x,a[20];
LinkList L,p,s,t;
scanf("%d %d",&n,&x);
CreateLink(&L,n);
for(i=0;i<20;i++) scanf("%d",&a[i]);
for(i=0;L->data!=x;i++){
m=L->data;
p=L,t=s=L->next;
for(j=1;j<m+1;j++){
if(j%a[i]==0){
t=p->next=s->next;
free(s),s=t;
(L->data)--;
if((L->data)==x)break;
}
else p=s,s=s->next;
}
}
p=L->next;
while(p!=NULL){
printf("%d ",p->data);
p=p->next;
}
}
大数减法
#include <stdio.h>
#include <string.h>
#define max(a,b) a>b?a:b
#define min(a,b) a>b?b:a
int sum[101];
void jia(char a[],char b[])
{
int flag=0,i,len1,len2,lenmax,lenmin;
len1=strlen(a),len2=strlen(b);
lenmax=max(len1,len2),lenmin=min(len1,len2);
for(i=1;i<=lenmax;i++)
{
if(i<=lenmin)
{
sum[lenmax-i]=a[len1-i]+b[len2-i]-'0'-'0'+flag;
if(sum[lenmax-i]>=10)
{
sum[lenmax-i]=sum[lenmax-i]-10;
flag=1;
}
else flag=0;
}
else{
if(len1>len2)
{
sum[lenmax-i]=a[len1-i]-'0'+flag;
if(sum[lenmax-i]>=10)
{
sum[lenmax-i]=sum[lenmax-i]-10;
flag=1;
}
else flag=0;
}
else
{
sum[lenmax-i]=b[len2-i]-'0'+flag;
if(sum[lenmax-i]>=10)
{
sum[lenmax-i]=sum[lenmax-i]-10;
flag=1;
}
else flag=0;
}
}
}
if(flag==1)
printf("1");
for(i=0;i<lenmax;i++)
printf("%d",sum[i]);
printf("\n");
}
void jian(char a[],char b[])
{
int flag=0,i;
int len1,len2;
len1=strlen(a),len2=strlen(b);
for(i=1;i<=len1;i++)
{
if(i<=len2)
{
if(a[len1-i]-b[len2-i]-flag>=0)
{
sum[len1-i]=a[len1-i]-b[len2-i]-flag;
flag=0;
}
else
{
sum[len1-i]=a[len1-i]-b[len2-i]-flag+10;
flag=1;
}
}
else
{
if(a[len1-i]-flag-'0'>=0)
{
sum[len1-i]=a[len1-i]-flag-'0';
flag=0;
}
else
{
sum[len1-i]=a[len1-i]-flag+10-'0';
flag=1;
}
}
}
for(i=0;i<len1&&sum[i]==0;i++);
for(;i<len1;i++)
printf("%d",sum[i]);
printf("\n");
}
void compare(char a[],char b[])
{
int len1,len2;
len1=strlen(a),len2=strlen(b);
if(len1>len2||(len1==len2&&strcmp(a,b)>0))
jian(a,b);
else if(strcmp(a,b)!=0)
{
printf("-");
jian(b,a);
}
else
printf("0\n");
}
int main()
{
char a[100],b[100];
gets(a);
gets(b);
if(a[0]=='-'&&b[0]!='-')
{
printf("-");
jia(&a[1],b);
}
else if(a[0]=='-'&&b[0]=='-')
compare(&b[1],&a[1]);
else if(a[0]!='-'&&b[0]=='-')
jia(a,&b[1]);
else
compare(a,b);
return 0;
}
毕业设计论文打印
#include <stdio.h>
int main()
{
int n,m,x,i,j,t,A[1000]={0};
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
scanf("%d",&A[i]);
x=A[m];
for(j=0;j<n-1;j++)
for(i=0;i<n-1-j;i++)
if(A[i]<A[i+1])
t=A[i],A[i]=A[i+1],A[i+1]=t;
for(i=0;;i++)
if(A[i]==x)break;
printf("%d\n",i+1);
return 0;
}
链表动态增长或减小
#include<stdio.h>
#include<stdlib.h>
typedef struct tagNode{
int data;
struct t
西工大c语言poj答案
5星 · 超过95%的资源 需积分: 10 153 浏览量
2014-06-20
12:17:42
上传
评论
收藏 23KB ZIP 举报
532699423
- 粉丝: 2
- 资源: 2
最新资源
- 传统网页UI设计在移动应用开发中的应用研究.pdf
- 基于pytorch实现BERT+BiLSTM+CRF实现中文命名实体识别源码.zip
- 校园帮项目,毕业设计/课程设计/javaWeb/SSM
- C++ plotting library,matplotlib-cpp-master.zip
- 案例源码matplotlib-examples-master.zip
- 基于JavaScript 实现的KMP 算法
- 基于C++实现二叉树的创建,遍历,添加,查找与删除
- 基于C语言实现二叉树的基本操作
- 毕业设计基于STM32的测量温度与压力的数据处理设计C语言完整源码+论文.zip
- 基于MATLAB的PCA算法人脸识别项目源码+GUI界面+说明文档.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈