- 合并两个字符串,并去重,输出
void mergeString(char *s,char *t){
char *p,*q;
strcat(s,t);
p=q=s;
while(*p){
if(*p!=' '){
*q++=*p;
}
p++;
}
*q=NULL;
}
int main(){
char s[20],t[20];
printf("输入第一个字符串\n");
gets(s);
printf("输入第二个字符串\n");
gets(t);
mergeString(s,t);
printf("合并后的字符串\n");
puts(s);
return 0;
}
- 递归1+.。。。。
double f(int n){
if(n==1) return 1;
else return f(n-1)+1.0/(n*(n-1));
}
int main(){
int i;
for(i=2;i<1000;i++)
if(1.0/(i*(i-1))<0.001)
break;
printf("结果f=%lf,n=%d",f(i),i);
}
List item
链表
const N=10;
struct node{
int data;
struct node *next;
};
typedef struct node linknode;
typedef linknode* linklist;
void sort(int arr[],int N){
int minIndex;
int temp;
for(int i=0;i<N-1;i++){
minIndex=i;
for(int j=i+1;j<N;j++){
if(arr[j]<arr[minIndex])
minIndex=j;
}
if(minIndex!=i){
temp=arr[i];
arr[i]=arr[minIndex];
arr[minIndex]=temp;
}
}
}
int main(){
linklist head,q;
head=(linklist)malloc(sizeof(linknode));
head->next=NULL;
int arr[20];
int i;
printf("输入10个数\n");
for(i=0;i<N;i++)
scanf("%d",&arr[i]);
sort(arr,N);
printf("排序后的数\n");
for(int k=0;k<N;k++){
printf("%d\t",arr[k]);
}
for(int j=0;j<N;j++){
q=(linklist)malloc(sizeof(linknode));
q->data=arr[j];
q->next=head->next;
head->next=q;
}
linklist p=head->next;
printf("\n有序链表:\n");
while(p){
printf("%d\t",p->data);
p=p->next;
}
}