![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/0014c6d93be2375f0fe4e0cdba232aa2.png)
#include<stdio.h>
#include<stdlib.h>
int merge(int *a,int m,int *b,int n){
int i=m-1,j=n-1,k=m+n-1;
while(i>=0&&j>=0){
if(a[i]>b[j])a[k--]=a[i--];
else a[k--]=b[j--];
}
while(i>=0)a[k--]=a[i--];
while(j>=0)a[k--]=b[j--];
return m+n;
}
int main(){
int m,n,i,j;
printf("请输入m,n\n");
scanf("%d %d",&m,&n);
int a[m+n],b[n];
printf("请输入数组a\n");
for(i=0;i<m;i++)scanf("%d",&a[i]);
printf("请输入数组b\n");
for(i=0;i<n;i++)scanf("%d",&b[i]);
int num=merge(a,m,b,n);
for(i=0;i<num;i++)printf("%d ",a[i]);
return 0;
}
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/daa3c43e8d55bb7a774a6cad5fa8596d.png)
#include<stdio.h>
int prime(int n){
if(n==2)return 1;
int i;
for(i=2;i<=(n/2)+1;i++)
if(n%i==0)return 0;
return 1;
}
int minpri(int n){
if(prime(n)==1)return n;
int i;
for(i=2;i<=(n/2)+1;i++)
if(n%i==0&&prime(i))return i;
}
int main(){
int n;
printf("请输入一个正整数n\n");
scanf("%d",&n);
int min=minpri(n);
printf("%d的最小质因数为%d",n,min);
return 0;
}
![](https://i-blog.csdnimg.cn/blog_migrate/519083effd8462cfcf7f5e45bd79e3c6.png)
#include<stdio.h>
int cutnum(int n,int k){
if(n<=k)return 1;
int numleft=cutnum(n*2/5,k);
int numright=cutnum(n*3/5,k);
return numleft+numright;
}
int main(){
int n,k;
printf("请输入正整数n、k,n>10,k>3\n");
scanf("%d %d",&n,&k);
printf("最终得到%d根木条",cutnum(n,k));
return 0;
}
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/b2f1c962204b5a986c2a940728700765.png)
#include<stdio.h>
typedef struct ListNode{
char number[10];
char name[10];
int type;
int data;
struct ListNode *next;
}ListNode;
ListNode *head=NULL;
void create(){
FILE *fp;
fp=fopen("in.txt","r");
ListNode *p;
while(!feof(fp)){
p=(ListNode *)malloc(sizeof(struct ListNode));
fscanf(fp,"%s %s %d %d",p->number,p->name,&p->type,&p->data);
p->next=NULL;
if(head==NULL)head=p;
else r->next=p;
r=p;
}
fclose(fp);
return ;
}