**
**
2.输入一个大写字母,输出对称序列,如输入E,则输出AbCdEdCbA
char cb;
scanf("%c",&cb);
for(char c='A';c<=cb;c++){
if((c-'A')%2==0){
printf("%c",c);
}else{
printf("%c",c+32);
}
}
for(char c=cb-1;c>='A';c--){
if((c-'A')%2==0){
printf("%c",c);
}else{
printf("%c",c+32);
}
}
- 递归求 1/2+1/4+…+1/2^n
double sum(int n){
if(n==1)
return 1.0/pow(2,1);
else
return 1.0/pow(2,n)+sum(n-1);
}
int main(){
int n;
printf("请输入 n:\n");
scanf("%d",&n);
printf("sum=%lf\n",sum(n));
}
4.创建链表 并从小到大输出
struct node {
int data;
struct node *next;
};
typedef struct node linknode;
typedef linknode *linklist;
// 头插法
linklist createLink()
{
linklist head=NULL;
head=(linklist)malloc(sizeof(linknode));
head->next=NULL;
linklist q;
printf("请输入整数,以@结束");
int x;
scanf("%d",&x);
while(x!=0){
q=(linklist)malloc(sizeof(linknode));
q->data=x;
q->next=head->next;
head->next=q;
scanf("%d",&x);
}
return head;
}
linklist create_tail(){
linklist head,tail,q;
head=(linklist)malloc(sizeof(linknode));
tail=head;
int x;
scanf("%d",&x);
while(x!=0){
q=(linklist)malloc(sizeof(linknode));
q->data=x;
tail->next=q;
tail=q;
scanf("%d",&x);
}
tail->next=NULL;
return head;
}
void sort(linklist head){
linklist p,q;
for(p=head->next;p!=NULL;p=p->next){
for(q=p->next;q!=NULL;q=q->next){
if(p->data>q->data){
int t=q->data;
q->data=p->data;
p->data=t;
}
}
}
}
void print(linklist head){
linklist p;
p=head->next;
printf("从小到大顺序:");
while(p!=NULL){
printf("%d,",p->data);
p=p->next;
}
}
int main (){
linklist head;
head=create_tail();
sort(head);
print(head);
return 0;
}