计算1+2+....+100的值 
#include <stdio.h> 
main() 
{ 
printf("%d\n",fun(100));//调用函数fun() 
} 
递归函数 
fun(int n) 
{int t; <br/>if(n==0||n==1) t=1; //如果n为0或为1 输出1 <br/>//n大于0,则为第n项和第n-1项的和,继续调用fun() <br/>//以此类推... <br/>else t=n+fun(n-1); <br/>return t; <br/>} 
 
什么叫快速排序 qsort 
#include<string.h> 
#include<stdlib.h> 
#include<stdio.h> 
 
struct student{ 
 int xuehao; 
 char name[20]; 
 int chengji; 
}; 
 
typedef struct student stu; 
 
sortbyxuehao(const void *,const void *); 
sortbyname(const void *,const void *); 
sortbychengji(const void *,const void *); 
 
void main() 
{ 
 int i; 
 stu a[3]; 
 int choice; 
 int (*p)(const void * ,const void *); 
 
 printf("please input record:\n"); 
 printf("xuehao name chengji:\n"); 
 for(i=0;i<3;i++) 
 { 
 scanf("%d",&a[i].xuehao); 
scanf("%s",a[i].name); 
scanf("%d",&a[i].chengji); 
 } 
 printf("choice_1: sorted xuehao:\n"); 
 printf("choice_2: sorted name\n"); 
 printf("choice_3: sorted chengji\n"); 
 
 scanf("%d",&choice); 
 while(choice!=0) 
 { 
 if(choice==1) 
 p=sortbyxuehao; 
 if(choice==2) 
 p=sortbyname; 
 if(choice==3) 
 p=sortbychengji; 
 
 qsort(a,3,sizeof(stu),p); 
 
 if(choice==1) 
 for(i=0;i<3;i++) 
 printf("\n%d\t%s\t%d",a[i].xuehao,a[i].name,a[i].chengji); 
 if(choice==2) 
 for(i=0;i<3;i++) 
 printf("\n%s\t%d\t%d",a[i].name,a[i].xuehao,a[i].chengji); 
 if(choice==3) 
 for(i=0;i<3;i++) 
 printf("\n%d\t%s\t%d",a[i].chengji,a[i].name,a[i].xuehao); 
 printf("\n"); 
 scanf("%d",&choice); 
 } 
 
} 
 
sortbyxuehao(const void *p,const void *q) 
{ 
 stu *x,*y; 
 x=(stu*)p; 
 y=(stu*)q; 
 
 return (-((*x).xuehao-(*y).xuehao)); 
} 
 
sortbyname(const void *p,const void *q) 
{ 
 stu *x,*y; 
 x=(stu*)p; 
 y=(stu*)q; 
 
 return strcmp((*x).name,(*y).name); 
 
} 
 
sortbychengji(const void *p,const void *q) 
{ 
 stu *x,*y; 
 x=(stu*)p; 
 y=(stu*)q; 
 
 return ((*x).chengji-(*y).chengji); 
 
}
                                        
                                      2019-07-17 22:55:17