虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

switch-trees

  • L9352B

    Description The L9352B is an integrated quad low-side power switch to drive inductive loads like valves used in ABS systems. Two of the four channels are current regulators with current range from 0 mA to 2.25 A. All channels are protected against fail functions. They are monitored by a status output.

    标签: L9352B

    上传时间: 2019-03-27

    上传用户:guaixiaolong

  • 成绩查询系统

    #include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score   {   float math;   float english;   float computer;   }; struct student   {   int number;   char name[20];   struct score sco;   float average;   }; struct student stu[N]; void print_menu(void);//输出菜单 void choosemenu(void);//菜单选择 void input_student1(int);//输入学生信息 void input_student2(void);//输入总函数 void input_student3(int &,int);//判断学号是否重复 void input_student4(int,int);//覆盖原信息 void sort_student3(student s[],int);//按照英语成绩排序 void sort_student4(student s[],int);//按照计算机成绩排序 void sort_student2(student s[],int);//按照数学成绩排序 void sort_student5(student s[],int);//按照平均成绩排序 float input_score2(int);//计算学生平均成绩 void print_student2(void);//显示表头 void print_student3(int);//显示学生信息 void print_student1(int);//显示全部学生资料 void sort_student1(void);//排序总函数 void menu(void);//菜单调度总函数 int search_student2(int);//按学号查询学生信息并输出 void search_student3(int);//按平均分最高查询并输出 void search_student1(void);//查询总函数 void delete_student2(int,int);//删除学生信息 void delete_student1(void);//删除总函数 void change_student2(int);//修改学生资料 void change_student1(void);//修改总函数 void input_score3(int);//统计成绩 void input_score1(void);//统计成绩总函数 void print_help(void);//输出帮助信息 void exit_student(void);//退出系统 void save_student(student *,int);//保存学生信息 void main()   {   menu();   } void save_student(student *s,int a)//保存学生信息   {   FILE *fp;     if((fp=fopen("d:\\学生信息.txt","wb"))==NULL)       {       printf("不能打开文件!\n");       }     else       {       printf("保存信息到D盘\n");       fprintf(fp,"本班所有学生具体信息如下:\r\n");       fprintf(fp,"  学号       姓名           数学成绩       英语成绩     计算机成绩     平均成绩\r\n");       for(int i=0;i<a;i++)         {         fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average);         fprintf(fp,"\r\n");         }       fclose(fp);       printf("信息保存成功!\n");       }   } void exit_student(void)//退出系统   {   exit(1);   } void print_help(void)//输出帮助信息   {   printf("本系统所能容纳的最大学生数为%d人\n学生信息保存在D盘根目录下,保存文件为“学生信息.txt”。\n感谢使用!\n",N);   } void input_score1(void)//统计成绩总函数   {   int c;   c=search_student2(iNumOfStu);   printf("学号:%d\n",stu[c].number);   printf("姓名:%s\n",stu[c].name);   input_score3(c);   printf("新成绩录入成功!\n");   stu[c].average=input_score2(c);   } void input_score3(int a)//统计成绩   {   printf("数学新成绩:");   scanf("%f",&stu[a].sco.math);   printf("英语新成绩:");   scanf("%f",&stu[a].sco.english);   printf("计算机新成绩:");   scanf("%f",&stu[a].sco.computer);   } void change_student2(int a)//修改学生资料   {   printf("学号:%d----修改为:",stu[a].number);   scanf("%d",&stu[a].number);   getchar();   printf("姓名:%s----修改为:",stu[a].name);   gets(stu[a].name);   printf("数学成绩:%.2f----修改为:",stu[a].sco.math);   scanf("%f",&stu[a].sco.math);   printf("英语成绩:%.2f----修改为:",stu[a].sco.english);   scanf("%f",&stu[a].sco.english);   printf("计算机成绩:%.2f----修改为:",stu[a].sco.computer);   scanf("%f",&stu[a].sco.computer);   } void change_student1(void)//修改总函数   {   int c;   c=search_student2(iNumOfStu);   getchar();   printf("是否要修改此学生信息?(“y”代表是)");   char d;   scanf("%c",&d);   if(d=='y'||d=='Y')     {     change_student2(c);       stu[c].average=input_score2(c);     printf("信息修改成功!\n");     }   } void delete_student1(void)//删除总函数   {   int c;   c=search_student2(iNumOfStu);   getchar();   printf("是否删除此条记录?(“y”代表是)");   char d;   scanf("%c",&d);   if(d=='y'||d=='Y')     {     delete_student2(c,iNumOfStu);     printf("记录已删除!\n");     }   } void delete_student2(int a,int b)//删除学生信息   {   for(int i=a;i<b-1;i++)     {     stu[i]=stu[i+1];     }   --iNumOfStu;   } void search_student1(void)//查询总函数   {   printf("1、按学号查询\n2、按平均分最高查询\n请选择:");   int c;   scanf("%d",&c);   switch(c)     {     case 1:       {       search_student2(iNumOfStu);       break;       }     case 2:       {       search_student3(iNumOfStu);       break;       }     default: break;     }   } void menu(void)//菜单调度总函数   {   print_menu();   choosemenu();   } void sort_student1(void)//排序总函数   {   printf("1、按数学成绩排序\n2、按英语成绩排序\n3、按计算机成绩排序\n4、按平均成绩排序\n请选择:");   int c;   scanf("%d",&c);   switch(c)     {     case 1:       {       sort_student2(stu,iNumOfStu);       break;       }     case 2:       {       sort_student3(stu,iNumOfStu);       break;       }     case 3:       {       sort_student4(stu,iNumOfStu);       break;       }     case 4:       {       sort_student5(stu,iNumOfStu);       break;       }     default: break;     }   } void print_student1(int a)//显示全部学生资料   {   printf("本班所有学生具体信息如下\n");   print_student2();   for(int i=0;i<a;i++)     {     print_student3(i);     }   } void print_student3(int a)//显示学生信息   {   printf("%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[a].number,stu[a].name,stu[a].sco.math,stu[a].sco.english,stu[a].sco.computer,stu[a].average);   } void print_student2(void)//显示表头   {   printf("  学号       姓名           数学成绩       英语成绩     计算机成绩     平均成绩\n");   } void input_student4(int a,int b)//覆盖原信息   {   stu[a]=stu[b-1];   --iNumOfStu;   } void input_student3(int &a,int b)//判断学号是否重复   {   if(a!=0)     {     int i=0;     do       {       if(stu[a].number==stu[i].number)         {         printf("此学号代表的学生已录入\n1、覆盖原信息\n2、重新输入\n请选择:");         int c;         scanf("%d",&c);         switch(c)           {           case 1:             {             input_student4(i,iNumOfStu);             a=iNumOfStu-1;             printf("信息已替换!\n");             break;             }           case 2:             {             printf("请重新输入学生信息:\n");             input_student1(iNumOfStu-1);             break;             }           default: break;           }         break;         }       ++i;       }       while(i<b-1);     }   } void print_menu(void)//输出菜单   {   printf("======欢迎来到学生信息管理系统======\n");   printf("      1、输入学生资料\n");   printf("      2、删除学生资料\n");   printf("      3、查询学生资料\n");   printf("      4、修改学生资料\n");   printf("      5、显示学生资料\n");   printf("      6、统计学生成绩\n");   printf("      7、排序学生成绩\n");   printf("      8、保存学生资料\n");   printf("      9、获取帮助信息\n");   printf("      10、退出系统\n");   printf("====================================\n");   printf("请选择:");   } void input_student2(void)//输入总函数   {   char end;   printf("请输入学生信息(在最后一个学生信息录入完成后以“/”结束录入):\n");   for(int i=0;(end=getchar())!='/';i++)     {     input_student1(i);     ++iNumOfStu;     input_student3(i,iNumOfStu);     }   for(int j=0;j<iNumOfStu;j++)     {     stu[j].average=input_score2(j);     }   } void input_student1(int a)//输入学生信息   {   printf("学号:");   scanf("%d",&stu[a].number);   getchar();   printf("姓名:");   gets(stu[a].name);   printf("数学成绩:");   scanf("%f",&stu[a].sco.math);   printf("英语成绩:");   scanf("%f",&stu[a].sco.english);   printf("计算机成绩:");   scanf("%f",&stu[a].sco.computer);   } float input_score2(int a)//计算学生平均成绩   {   return (stu[a].sco.math+stu[a].sco.english+stu[a].sco.computer)/3;   } void search_student3(int a)//按平均分最高查询并输出   {   int max=0;   for(int i=0;i<a;i++)     {     if(stu[max].average<stu[i].average)       {       max=i;       }     }   print_student2();   print_student3(max);   } void sort_student2(student s[],int a)//按照数学成绩排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].sco.math>stu[max].sco.math)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } void sort_student3(student s[],int a)//按照英语成绩排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].sco.english>stu[max].sco.english)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } void sort_student4(student s[],int a)//按照计算机成绩排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].sco.computer>stu[max].sco.computer)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } void sort_student5(student s[],int a)//按照平均成绩排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].average>stu[max].average)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } int search_student2(int a)//按照学号查找学生并输出   {   int num;   int c;   printf("请输入要查询的学号:");   scanf("%d",&num);   for(int i=0;i<a;i++)     {     if(num==stu[i].number)       {       c=i;       }     }   printf("此学生的信息是:\n");   print_student2();   print_student3(c);   return c;   } void choosemenu(void)//菜单选择   {   int i;   scanf("%d",&i);   switch(i)     {     case 1:       {       input_student2();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 2:       {       delete_student1();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 3:       {       search_student1();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 4:       {       change_student1();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 5:       {       print_student1(iNumOfStu);       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 6:       {       input_score1();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 7:       {       sort_student1();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 8:       {       save_student(stu,iNumOfStu);       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 9:       {       print_help();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 10:       {       exit_student();       }     default: break;     }   }         运行结果:                         源文件下载地址: http://115.com/file/clnq138g#一个简单的学生成绩管理系统.rar (请将此地址复制到浏览器地址栏中访问下载页面)  

    标签: 成绩查询系统

    上传时间: 2019-06-08

    上传用户:啊的撒旦

  • 学生成绩guanli

    #include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score   {   float math;   float english;   float computer;   }; struct student   {   int number;   char name[20];   struct score sco;   float average;   }; struct student stu[N]; void print_menu(void);//输出菜单 void choosemenu(void);//菜单选择 void input_student1(int);//输入学生信息 void input_student2(void);//输入总函数 void input_student3(int &,int);//判断学号是否重复 void input_student4(int,int);//覆盖原信息 void sort_student3(student s[],int);//按照英语成绩排序 void sort_student4(student s[],int);//按照计算机成绩排序 void sort_student2(student s[],int);//按照数学成绩排序 void sort_student5(student s[],int);//按照平均成绩排序 float input_score2(int);//计算学生平均成绩 void print_student2(void);//显示表头 void print_student3(int);//显示学生信息 void print_student1(int);//显示全部学生资料 void sort_student1(void);//排序总函数 void menu(void);//菜单调度总函数 int search_student2(int);//按学号查询学生信息并输出 void search_student3(int);//按平均分最高查询并输出 void search_student1(void);//查询总函数 void delete_student2(int,int);//删除学生信息 void delete_student1(void);//删除总函数 void change_student2(int);//修改学生资料 void change_student1(void);//修改总函数 void input_score3(int);//统计成绩 void input_score1(void);//统计成绩总函数 void print_help(void);//输出帮助信息 void exit_student(void);//退出系统 void save_student(student *,int);//保存学生信息 void main()   {   menu();   } void save_student(student *s,int a)//保存学生信息   {   FILE *fp;     if((fp=fopen("d:\\学生信息.txt","wb"))==NULL)       {       printf("不能打开文件!\n");       }     else       {       printf("保存信息到D盘\n");       fprintf(fp,"本班所有学生具体信息如下:\r\n");       fprintf(fp,"  学号       姓名           数学成绩       英语成绩     计算机成绩     平均成绩\r\n");       for(int i=0;i<a;i++)         {         fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average);         fprintf(fp,"\r\n");         }       fclose(fp);       printf("信息保存成功!\n");       }   } void exit_student(void)//退出系统   {   exit(1);   } void print_help(void)//输出帮助信息   {   printf("本系统所能容纳的最大学生数为%d人\n学生信息保存在D盘根目录下,保存文件为“学生信息.txt”。\n感谢使用!\n",N);   } void input_score1(void)//统计成绩总函数   {   int c;   c=search_student2(iNumOfStu);   printf("学号:%d\n",stu[c].number);   printf("姓名:%s\n",stu[c].name);   input_score3(c);   printf("新成绩录入成功!\n");   stu[c].average=input_score2(c);   } void input_score3(int a)//统计成绩   {   printf("数学新成绩:");   scanf("%f",&stu[a].sco.math);   printf("英语新成绩:");   scanf("%f",&stu[a].sco.english);   printf("计算机新成绩:");   scanf("%f",&stu[a].sco.computer);   } void change_student2(int a)//修改学生资料   {   printf("学号:%d----修改为:",stu[a].number);   scanf("%d",&stu[a].number);   getchar();   printf("姓名:%s----修改为:",stu[a].name);   gets(stu[a].name);   printf("数学成绩:%.2f----修改为:",stu[a].sco.math);   scanf("%f",&stu[a].sco.math);   printf("英语成绩:%.2f----修改为:",stu[a].sco.english);   scanf("%f",&stu[a].sco.english);   printf("计算机成绩:%.2f----修改为:",stu[a].sco.computer);   scanf("%f",&stu[a].sco.computer);   } void change_student1(void)//修改总函数   {   int c;   c=search_student2(iNumOfStu);   getchar();   printf("是否要修改此学生信息?(“y”代表是)");   char d;   scanf("%c",&d);   if(d=='y'||d=='Y')     {     change_student2(c);       stu[c].average=input_score2(c);     printf("信息修改成功!\n");     }   } void delete_student1(void)//删除总函数   {   int c;   c=search_student2(iNumOfStu);   getchar();   printf("是否删除此条记录?(“y”代表是)");   char d;   scanf("%c",&d);   if(d=='y'||d=='Y')     {     delete_student2(c,iNumOfStu);     printf("记录已删除!\n");     }   } void delete_student2(int a,int b)//删除学生信息   {   for(int i=a;i<b-1;i++)     {     stu[i]=stu[i+1];     }   --iNumOfStu;   } void search_student1(void)//查询总函数   {   printf("1、按学号查询\n2、按平均分最高查询\n请选择:");   int c;   scanf("%d",&c);   switch(c)     {     case 1:       {       search_student2(iNumOfStu);       break;       }     case 2:       {       search_student3(iNumOfStu);       break;       }     default: break;     }   } void menu(void)//菜单调度总函数   {   print_menu();   choosemenu();   } void sort_student1(void)//排序总函数   {   printf("1、按数学成绩排序\n2、按英语成绩排序\n3、按计算机成绩排序\n4、按平均成绩排序\n请选择:");   int c;   scanf("%d",&c);   switch(c)     {     case 1:       {       sort_student2(stu,iNumOfStu);       break;       }     case 2:       {       sort_student3(stu,iNumOfStu);       break;       }     case 3:       {       sort_student4(stu,iNumOfStu);       break;       }     case 4:       {       sort_student5(stu,iNumOfStu);       break;       }     default: break;     }   } void print_student1(int a)//显示全部学生资料   {   printf("本班所有学生具体信息如下\n");   print_student2();   for(int i=0;i<a;i++)     {     print_student3(i);     }   } void print_student3(int a)//显示学生信息   {   printf("%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[a].number,stu[a].name,stu[a].sco.math,stu[a].sco.english,stu[a].sco.computer,stu[a].average);   } void print_student2(void)//显示表头   {   printf("  学号       姓名           数学成绩       英语成绩     计算机成绩     平均成绩\n");   } void input_student4(int a,int b)//覆盖原信息   {   stu[a]=stu[b-1];   --iNumOfStu;   } void input_student3(int &a,int b)//判断学号是否重复   {   if(a!=0)     {     int i=0;     do       {       if(stu[a].number==stu[i].number)         {         printf("此学号代表的学生已录入\n1、覆盖原信息\n2、重新输入\n请选择:");         int c;         scanf("%d",&c);         switch(c)           {           case 1:             {             input_student4(i,iNumOfStu);             a=iNumOfStu-1;             printf("信息已替换!\n");             break;             }           case 2:             {             printf("请重新输入学生信息:\n");             input_student1(iNumOfStu-1);             break;             }           default: break;           }         break;         }       ++i;       }       while(i<b-1);     }   } void print_menu(void)//输出菜单   {   printf("======欢迎来到学生信息管理系统======\n");   printf("      1、输入学生资料\n");   printf("      2、删除学生资料\n");   printf("      3、查询学生资料\n");   printf("      4、修改学生资料\n");   printf("      5、显示学生资料\n");   printf("      6、统计学生成绩\n");   printf("      7、排序学生成绩\n");   printf("      8、保存学生资料\n");   printf("      9、获取帮助信息\n");   printf("      10、退出系统\n");   printf("====================================\n");   printf("请选择:");   } void input_student2(void)//输入总函数   {   char end;   printf("请输入学生信息(在最后一个学生信息录入完成后以“/”结束录入):\n");   for(int i=0;(end=getchar())!='/';i++)     {     input_student1(i);     ++iNumOfStu;     input_student3(i,iNumOfStu);     }   for(int j=0;j<iNumOfStu;j++)     {     stu[j].average=input_score2(j);     }   } void input_student1(int a)//输入学生信息   {   printf("学号:");   scanf("%d",&stu[a].number);   getchar();   printf("姓名:");   gets(stu[a].name);   printf("数学成绩:");   scanf("%f",&stu[a].sco.math);   printf("英语成绩:");   scanf("%f",&stu[a].sco.english);   printf("计算机成绩:");   scanf("%f",&stu[a].sco.computer);   } float input_score2(int a)//计算学生平均成绩   {   return (stu[a].sco.math+stu[a].sco.english+stu[a].sco.computer)/3;   } void search_student3(int a)//按平均分最高查询并输出   {   int max=0;   for(int i=0;i<a;i++)     {     if(stu[max].average<stu[i].average)       {       max=i;       }     }   print_student2();   print_student3(max);   } void sort_student2(student s[],int a)//按照数学成绩排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].sco.math>stu[max].sco.math)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } void sort_student3(student s[],int a)//按照英语成绩排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].sco.english>stu[max].sco.english)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } void sort_student4(student s[],int a)//按照计算机成绩排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].sco.computer>stu[max].sco.computer)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } void sort_student5(student s[],int a)//按照平均成绩排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].average>stu[max].average)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } int search_student2(int a)//按照学号查找学生并输出   {   int num;   int c;   printf("请输入要查询的学号:");   scanf("%d",&num);   for(int i=0;i<a;i++)     {     if(num==stu[i].number)       {       c=i;       }     }   printf("此学生的信息是:\n");   print_student2();   print_student3(c);   return c;   } void choosemenu(void)//菜单选择   {   int i;   scanf("%d",&i);   switch(i)     {     case 1:       {       input_student2();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 2:       {       delete_student1();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 3:       {       search_student1();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 4:       {       change_student1();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 5:       {       print_student1(iNumOfStu);       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 6:       {       input_score1();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 7:       {       sort_student1();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 8:       {       save_student(stu,iNumOfStu);       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 9:       {       print_help();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 10:       {       exit_student();       }     default: break;     }   }         运行结果:                         源文件下载地址: http://115.com/file/clnq138g#一个简单的学生成绩管理系统.rar (请将此地址复制到浏览器地址栏中访问下载页面)   #include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score   {   float math;   float english;   float computer;   }; struct student   {   int number;   char name[20];   struct score sco;   float average;   }; struct student stu[N]; void print_menu(void);//输出菜单 void choosemenu(void);//菜单选择 void input_student1(int);//输入学生信息 void input_student2(void);//输入总函数 void input_student3(int &,int);//判断学号是否重复 void input_student4(int,int);//覆盖原信息 void sort_student3(student s[],int);//按照英语成绩排序 void sort_student4(student s[],int);//按照计算机成绩排序 void sort_student2(student s[],int);//按照数学成绩排序 void sort_student5(student s[],int);//按照平均成绩排序 float input_score2(int);//计算学生平均成绩 void print_student2(void);//显示表头 void print_student3(int);//显示学生信息 void print_student1(int);//显示全部学生资料 void sort_student1(void);//排序总函数 void menu(void);//菜单调度总函数 int search_student2(int);//按学号查询学生信息并输出 void search_student3(int);//按平均分最高查询并输出 void search_student1(void);//查询总函数 void delete_student2(int,int);//删除学生信息 void delete_student1(void);//删除总函数 void change_student2(int);//修改学生资料 void change_student1(void);//修改总函数 void input_score3(int);//统计成绩 void input_score1(void);//统计成绩总函数 void print_help(void);//输出帮助信息 void exit_student(void);//退出系统 void save_student(student *,int);//保存学生信息 void main()   {   menu();   } void save_student(student *s,int a)//保存学生信息   {   FILE *fp;     if((fp=fopen("d:\\学生信息.txt","wb"))==NULL)       {       printf("不能打开文件!\n");       }     else       {       printf("保存信息到D盘\n");       fprintf(fp,"本班所有学生具体信息如下:\r\n");       fprintf(fp,"  学号       姓名           数学成绩       英语成绩     计算机成绩     平均成绩\r\n");       for(int i=0;i<a;i++)         {         fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average);         fprintf(fp,"\r\n");         }       fclose(fp);       printf("信息保存成功!\n");       }   } void exit_student(void)//退出系统   {   exit(1);   } void print_help(void)//输出帮助信息   {   printf("本系统所能容纳的最大学生数为%d人\n学生信息保存在D盘根目录下,保存文件为“学生信息.txt”。\n感谢使用!\n",N);   } void input_score1(void)//统计成绩总函数   {   int c;   c=search_student2(iNumOfStu);   printf("学号:%d\n",stu[c].number);   printf("姓名:%s\n",stu[c].name);   input_score3(c);   printf("新成绩录入成功!

    标签: c语言

    上传时间: 2019-06-09

    上传用户:啊的撒旦

  • Texas Instruments常用元件库

    Texas Instruments常用元件库 TI Analog Timer Circuit.IntLib TI Logic Flip-Flop.IntLib TI Logic Gate 1.IntLib TI Logic Gate 2.IntLib TI Logic Latch.IntLib TI Logic Switch.IntLib TI Power Mgt Voltage Reference.IntLib TI Power Mgt Voltage Regulator.IntLib Texas Instruments Footprints.PcbLib等等

    标签: Instruments Texas常用元件库 Altium Designer TI

    上传时间: 2019-11-28

    上传用户:blue sky

  • TTP233D系列单通道触控芯片 台湾通泰永嘉微电优势代理

    产品型号:TTP232-CA6  产品品牌:TONTEK/通泰 封装形式:SOT23-6 产品年份:新年份 联 系 人:许先生 联 系 QQ:1918885898  联系手机:18898582398 台湾通泰一级代理,原装现货最有优势!工程服务,技术支持,让您的生产高枕无忧! 量大价优,保证原装正品。您有量,我有价! 概 述 ● TTP232-CA6 TonTouchTM IC 为电容感测设计,专门用于触摸板控制,装置内建稳压电路给触摸感应电路使用,稳定的触摸检测效果可已广泛的满足不同的应用需求,人体经由非导体的介电材料连结控制板,主要用于取代机械开关或按钮,此芯片经由 2 个触摸板直接控制 2 个输出脚。 特 点 ● 工作电压 2.4V ~ 5.5V ● 内建稳压电路给触摸感应电路使用 ● 工作电流 @VDD=3V,无负载 ● 待机时典型值为 2.5uA ● 最大的触摸响应时间,从待机状态开始约为 220mS @VDD=3V ● 利用每个触摸板外部的电容(1~50pF)调整灵敏度 ● 输出模式固定为直接模式和低电平输出有效模式 ● 提供最长输出时间时间 16 秒 ● 固定为多键输出模式 ● 上电后约有 0.5 秒的稳定时间,此期间内不要触摸触摸板,此时所有功能都被禁止 ● 自动校准功能 ● 刚上电的 8 秒内约每 1 秒刷新一次参考值,若在上电后的 8 秒内有触摸按键或 8 秒后仍未触摸按键,则每 4 秒刷新一次参考值 应用范围 ● 各种消费性产品 ● 取代按钮按键 此资料为产品概述,可能会有错漏。如需完整产品PDF资料可以联系许先生索取QQ:191 888 5898 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 产品型号:TTP226-809SN 产品品牌:TONTEK/通泰 封装形式:SSOP28 产品年份:新年份 联 系 人:许先生 联 系 QQ:1918885898   联系手机:18898582398 台湾通泰一级代理,原装现货最有优势!工程服务,技术支持,让您的生产高枕无忧! 量大价优,保证原装正品。您有量,我有价! 8按键触摸检测 IC 概 述 ● TTP226-809SN TonTouchTM 是一款使用电容式感应原理设计的触摸 IC, 提供 8 个触摸键,此触摸检测芯片是专为取代传统按键而设计, 触摸检测 PAD 的大小可依不同的灵敏度设计在合理的范围内, 低功耗与宽工作电压, 是此触摸芯片在 DC 或 AC 应用上的特性。 特 点 ● 工作电压 2.0V ~ 5.5V ● 工作电流在 VDD=3V 时典型值 80uA, 最大值 160uA ● 输出刷新率在 VDD=3V 时约 55Hz ● 16 阶可选灵敏度 (SLSE1~4 管脚选项) ● 稳定的人体接触检测,以取代传统直接切换的键(direct switch key) ● 提供直接(direct)模式、矩阵(matrix)模式和串行(serial)模式,由 pin 选项选择 ● 直接模式下最多 8 个输入 pads 和 8 个输出;  串行接口模式下最多 8 个输入 pads;  固定的 2*4 和 3*3 矩阵类型提供最多 8 个输入 pads ● 输出可由 pin 选项选择为高电平有效或低电平有效 ● 在上电之后有一段稳定时间,在此期间不要触摸键区(key-pad),且功能无效, TTP226-809SN 的是 0.8~1.0 秒 ● 始终进行自校准,当所有键没被触摸时,重校准周期 TTP226-809SN 的是 0.8~1.0 秒 应用范围 ● 各种消费性产品 ● 取代按钮按键 此资料为产品概述,可能会有错漏。如需完整产品PDF资料可以联系许先生索取QQ:191 888 5898 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 产品型号:TTP229 TCP229 产品后缀:TTP229-LSF/BSF/AQG/CSE/DQE/GQD/HSB/JQB/KSF 产品品牌:TONTEK/通泰 封装形式:SSOP16 SSOP20 SSOP24 QFN24 SSOP28 QFN32 SSOP48 裸片/DICE 产品年份:最新年份 联 系 人:许先生 联 系 QQ:1918885898  461366748 联系手机:18898582398 台湾通泰一级代理,原装现货最有优势!工程服务,技术支持,让您的生产高枕无忧。 量大价优,保证原装正品。您有量,我有价! 16 键/8 键触摸检测 IC 概述 TTP229 TonTouchTM IC是一款使用电容感应式原理设计的触摸芯片。此芯片内建稳压电路供 触摸传感器使用,稳定的触摸效果可以应用在各种不同应用上,人体触摸面板可以通过非导电性绝 缘材料连接,主要应用是以取代机械开关或按钮,此芯片可以独立支持8个触摸键或16个触摸键. 特点 ƒ 工作电压:2.4V~5.5V(启用内建稳压电路) 2.0V~5.5V(禁用内建稳压电路) ƒ 可外部选择启用/禁用内建稳压电路功能 ƒ 待机电流 3V电压,低速采样率8Hz的睡眠模式下: 启用内部稳压器,待机电流 => 16键模式下典型值2.5uA => 8键模式下典型值2.0uA 禁用内部稳压器,待机电流 => 16键模式下典型值2.5uA => 8键模式下典型值2.0uA ƒ 提供Option选择8键或16键模式. ƒ 提供8个直接输出独立端口,仅限于8键直接输出模式下 ƒ 具有两种串行输出方式,可以应用在8个和16个键模式  包括2-线串行模式和I 2 C通讯模式,由option所选择. ƒ 8个直接输出端口可以选择不同输出类型(CMOS/OD/OC具有高/低电平有效) ƒ 2-线串行模式可option选择高电平有效或低电平有效 ƒ 提供option选择多键或单键有效功能 ƒ 提供两种采样率,睡眠模式下采样率 8Hz,快速采样率 64Hz ƒ 具有Option选择有效键最大输出时间大约为80秒. ƒ 灵敏度可由外部电容(1~50pF)调节 ƒ 上电后需要0.5秒稳定时间 在此期间内请勿触摸按键面板,所有的功能触摸也无效. ƒ 自动校准 当所有按键在一段时间内没有被触摸到时,芯片系统重新校准时间约为4.0秒 应用范围 ● 各种消费性产品 ● 取代按钮按键 此资料为产品概述,可能会有错漏。如需完整产品PDF资料可以联系许先生索取QQ:191 888 5898 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 产品型号:TCP229 产品品牌:TONTEK/通泰 封装形式:DICE/裸片/晶圆---邦定COB 定制COB 产品年份:最新年份 联 系 人:许先生 联 系 QQ:1918885898  461366748 联系手机:18898582398 台湾通泰一级代理,原装现货最有优势!工程服务,技术支持,让您的生产高枕无忧。 量大价优,保证原装正品。您有量,我有价! 16 键/8 键触摸检测 IC 概述 TTP229 TonTouchTM IC是一款使用电容感应式原理设计的触摸芯片。此芯片内建稳压电路供 触摸传感器使用,稳定的触摸效果可以应用在各种不同应用上,人体触摸面板可以通过非导电性绝 缘材料连接,主要应用是以取代机械开关或按钮,此芯片可以独立支持8个触摸键或16个触摸键. 特点 ƒ 工作电压:2.4V~5.5V(启用内建稳压电路) 2.0V~5.5V(禁用内建稳压电路) ƒ 可外部选择启用/禁用内建稳压电路功能 ƒ 待机电流 3V电压,低速采样率8Hz的睡眠模式下: 启用内部稳压器,待机电流 => 16键模式下典型值2.5uA => 8键模式下典型值2.0uA 禁用内部稳压器,待机电流 => 16键模式下典型值2.5uA => 8键模式下典型值2.0uA ƒ 提供Option选择8键或16键模式. ƒ 提供8个直接输出独立端口,仅限于8键直接输出模式下 ƒ 具有两种串行输出方式,可以应用在8个和16个键模式  包括2-线串行模式和I 2 C通讯模式,由option所选择. ƒ 8个直接输出端口可以选择不同输出类型(CMOS/OD/OC具有高/低电平有效) ƒ 2-线串行模式可option选择高电平有效或低电平有效 ƒ 提供option选择多键或单键有效功能 ƒ 提供两种采样率,睡眠模式下采样率 8Hz,快速采样率 64Hz ƒ 具有Option选择有效键最大输出时间大约为80秒. ƒ 灵敏度可由外部电容(1~50pF)调节 ƒ 上电后需要0.5秒稳定时间 在此期间内请勿触摸按键面板,所有的功能触摸也无效. ƒ 自动校准 当所有按键在一段时间内没有被触摸到时,芯片系统重新校准时间约为4.0秒 应用范围 ● 各种消费性产品 ● 取代按钮按键 此资料为产品概述,可能会有错漏。如需完整产品PDF资料可以联系许先生索取QQ:191 888 5898 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● TTP229-LSF 16键电容触摸按键触控芯片8键 12键 16键 TTP229裸片 TTP229-LSF TTP229-BSF TTP229 TCP229裸片/DICE 8键16键触摸IC TTP229-BSF/16键触摸按键IC/SSOP28触摸感应开关芯片   产品型号:TTP229-LSF 产品品牌:TONTEK/通泰 封装形式:SSOP28 产品年份:新年份 联 系 人:许先生 联 系 QQ:1918885898   联系手机:18898582398 台湾通泰一级代理,原装现货最有优势!工程服务,技术支持,让您的生产高枕无忧! 量大价优,保证原装正品。您有量,我有价! 概述 TTP229-LSF TonTouchTM IC是一款使用电容感应式原理设计的触摸芯片。此芯片内建稳压电路供触摸传感器使用,稳定的触摸效果可以应用在各种不同应用上,人体触摸面板可以通过非导电性绝缘材料连接,主要应用是以取代机械开关或按钮,此芯片可以独立支持8个触摸键或16个触摸键. 特点 ● 工作电压:2.4V~5.5V(启用内建稳压电路)  ● 2.0V~5.5V(禁用内建稳压电路)  ● 可外部选择启用/禁用内建稳压电路功能  ● 待机电流  3V电压,低速采样率8Hz的睡眠模式下:  ● 启用内部稳压器,待机电流  => 16键模式下典型值2.5uA  => 8键模式下典型值2.0uA  ● 禁用内部稳压器,待机电流  => 16键模式下典型值2.5uA  => 8键模式下典型值2.0uA  ● 提供Option选择8键或16键模式.  ● 提供8个直接输出独立端口,仅限于8键直接输出模式下  ● 具有两种串行输出方式,可以应用在8个和16个键模式  包括2-线串行模式和I2C通讯模式 ● TTP229-LSF为I2C输出通讯 ● TTP229-BSF为2线串行输出通讯 ● 8个直接输出端口可以选择不同输出类型(CMOS/OD/OC具有高/低电平有效) 2-线串行模式可option选择高电平有效或低电平有效  ● 提供option选择多键或单键有效功能  ● 提供两种采样率,睡眠模式下采样率8Hz,快速采样率 64Hz  ● 具有Option选择有效键最大输出时间大约为80秒.  ● 灵敏度可由外部电容(1~50pF)调节  ● 上电后需要0.5秒稳定时间  ● 在此期间内请勿触摸按键面板,所有的功能触摸也无效.  ● 自动校准  当所有按键在一段时间内没有被触摸到时,芯片系统重新校准时间约为4.0秒 应用范围 ● 各种消费性产品 ● 取代按钮按键 此资料为产品概述,可能会有错漏。如需完整产品PDF资料可以联系许先生索取QQ:191 888 5898 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 产品型号:TTP229-BSF 产品品牌:TONTEK/通泰 封装形式:SSOP28 产品年份:新年份 联 系 人:许先生 联 系 QQ:1918885898   联系手机:18898582398 台湾通泰一级代理,原装现货最有优势!工程服务,技术支持,让您的生产高枕无忧! 量大价优,保证原装正品。您有量,我有价! 概述 TTP229 TonTouchTM IC是一款使用电容感应式原理设计的触摸芯片。此芯片内建稳压电路供触摸传感器使用,稳定的触摸效果可以应用在各种不同应用上,人体触摸面板可以通过非导电性绝缘材料连接,主要应用是以取代机械开关或按钮,此芯片可以独立支持8个触摸键或16个触摸键. 特点 工作电压:2.4V~5.5V(启用内建稳压电路) 2.0V~5.5V(禁用内建稳压电路) 可外部选择启用/禁用内建稳压电路功能 待机电流 3V电压,低速采样率8Hz的睡眠模式下: 启用内部稳压器,待机电流 => 16键模式下典型值2.5uA => 8键模式下典型值2.0uA 禁用内部稳压器,待机电流 => 16键模式下典型值2.5uA => 8键模式下典型值2.0uA 提供Option选择8键或16键模式. 提供8个直接输出独立端口,仅限于8键直接输出模式下 具有两种串行输出方式,可以应用在8个和16个键模式 包括2-线串行模式和I2C通讯模式,由option所选择. 8个直接输出端口可以选择不同输出类型(CMOS/OD/OC具有高/低电平有效) 2-线串行模式可option选择高电平有效或低电平有效 提供option选择多键或单键有效功能 提供两种采样率,睡眠模式下采样率8Hz,快速采样率 64Hz 具有Option选择有效键最大输出时间大约为80秒. 灵敏度可由外部电容(1~50pF)调节 上电后需要0.5秒稳定时间 在此期间内请勿触摸按键面板,所有的功能触摸也无效. 自动校准 当所有按键在一段时间内没有被触摸到时,芯片系统重新校准时间约为4.0秒 应用范围 ● 各种消费性产品 ● 取代按钮按键 此资料为产品概述,可能会有错漏。如需完整产品PDF资料可以联系许先生索取QQ:191 888 5898 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 产品型号:TTP229-AQG 产品品牌:TONTEK/通泰 封装形式:QFN32 产品年份:最新年份 联 系 人:许先生 联 系 QQ:1918885898  461366748 联系手机:18898582398 台湾通泰一级代理,原装现货最有优势!工程服务,技术支持,让您的生产高枕无忧。 量大价优,保证原装正品。您有量,我有价! 16 键/8 键触摸检测 IC 概述 TTP229-AQG  TonTouchTM IC是一款使用电容感应式原理设计的触摸芯片。此芯片内建稳压电路供 触摸传感器使用,稳定的触摸效果可以应用在各种不同应用上,人体触摸面板可以通过非导电性绝 缘材料连接,主要应用是以取代机械开关或按钮,此芯片可以独立支持8个触摸键或16个触摸键. 特点 ƒ 工作电压:2.4V~5.5V(启用内建稳压电路) 2.0V~5.5V(禁用内建稳压电路) ƒ 可外部选择启用/禁用内建稳压电路功能 ƒ 待机电流 3V电压,低速采样率8Hz的睡眠模式下: 启用内部稳压器,待机电流 => 16键模式下典型值2.5uA => 8键模式下典型值2.0uA 禁用内部稳压器,待机电流 => 16键模式下典型值2.5uA => 8键模式下典型值2.0uA ƒ 提供Option选择8键或16键模式. ƒ 提供8个直接输出独立端口,仅限于8键直接输出模式下 ƒ 具有两种串行输出方式,可以应用在8个和16个键模式  包括2-线串行模式和I 2 C通讯模式,由option所选择. ƒ 8个直接输出端口可以选择不同输出类型(CMOS/OD/OC具有高/低电平有效) ƒ 2-线串行模式可option选择高电平有效或低电平有效 ƒ 提供option选择多键或单键有效功能 ƒ 提供两种采样率,睡眠模式下采样率 8Hz,快速采样率 64Hz ƒ 具有Option选择有效键最大输出时间大约为80秒. ƒ 灵敏度可由外部电容(1~50pF)调节 ƒ 上电后需要0.5秒稳定时间 在此期间内请勿触摸按键面板,所有的功能触摸也无效. ƒ 自动校准 当所有按键在一段时间内没有被触摸到时,芯片系统重新校准时间约为4.0秒 应用范围 ● 各种消费性产品 ● 取代按钮按键 此资料为产品概述,可能会有错漏。如需完整产品PDF资料可以联系许先生索取QQ:191 888 5898          

    标签: 233D TTP 233 单通道 代理 触控芯片 微电

    上传时间: 2020-01-09

    上传用户:szqxw1688

  • Joystick.c

    用于switch摇杆操作的源码,.c跟.h

    标签: Joystick

    上传时间: 2020-03-22

    上传用户:2320882541

  • Switch-Mode Power Supply Simulation

    Thepredecessorvolumeofthisbookwaspublishedin1996.Intheyears since then, some things have changed and some have not. Two of the things that have not changed are the desire for better models and faster simulations. I performed the original simulations on my “hyperfast” 133-MHz computer! At the time, I thought if I could just getafastercomputer,allofourSPICEproblemswouldbehistory,right? TodayIamsimulatingonacomputerthathasa2.6-GHzprocessorwith 512 MB of RAM, and I would still say that simulations run too slow. The computer technology has evolved, but so have the models. In 1996 wewereperformingsimulationson100-kHzpowerconverters,whereas today I routinely see 1- and 2-MHz power converters.

    标签: Switch-Mode Simulation Supply Power

    上传时间: 2020-06-07

    上传用户:shancjb

  • interpretable-machine-learning

    Machinelearninghasgreatpotentialforimprovingproducts,processesandresearch.Butcomputers usually do not explain their predictions which is a barrier to the adoption of machine learning. This book is about making machine learning models and their decisions interpretable. After exploring the concepts of interpretability, you will learn about simple, interpretable models such as decision trees, decision rules and linear regression. Later chapters focus on general model- agnosticmethodsforinterpretingblackboxmodelslikefeatureimportanceandaccumulatedlocal effects and explaining individual predictions with Shapley values and LIME.

    标签: interpretable-machine-learning

    上传时间: 2020-06-10

    上传用户:shancjb

  • 二叉树子系统

    #include<stdio.h> #define TREEMAX 100 typedef struct  BT { char data; BT *lchild; BT *rchild; }BT; BT *CreateTree(); void Preorder(BT *T); void Postorder(BT *T); void Inorder(BT *T); void Leafnum(BT *T); void Nodenum(BT *T); int TreeDepth(BT *T); int count=0; void main() { BT *T=NULL; char ch1,ch2,a; ch1='y'; while(ch1=='y'||ch1=='y') { printf("\n"); printf("\n\t\t             二叉树子系统"); printf("\n\t\t*****************************************"); printf("\n\t\t           1---------建二叉树            "); printf("\n\t\t           2---------先序遍历            "); printf("\n\t\t           3---------中序遍历            "); printf("\n\t\t           4---------后序遍历            "); printf("\n\t\t           5---------求叶子数            "); printf("\n\t\t           6---------求结点数            "); printf("\n\t\t           7---------求树深度            "); printf("\n\t\t           0---------返    回            "); printf("\n\t\t*****************************************"); printf("\n\t\t      请选择菜单号 (0--7)"); scanf("%c",&ch2); getchar(); printf("\n"); switch(ch2) { case'1': printf("\n\t\t请按先序序列输入二叉树的结点:\n"); printf("\n\t\t说明:输入结点(‘0’代表后继结点为空)后按回车。\n"); printf("\n\t\t请输入根结点:"); T=CreateTree(); printf("\n\t\t二叉树成功建立!\n");break; case'2': printf("\n\t\t该二叉树的先序遍历序列为:"); Preorder(T);break; case'3': printf("\n\t\t该二叉树的中序遍历序列为:"); Inorder(T);break; case'4': printf("\n\t\t该二叉树的后序遍历序列为:"); Postorder(T);break; case'5': count=0;Leafnum(T); printf("\n\t\t该二叉树有%d个叶子。\n",count);break; case'6': count=0;Nodenum(T); printf("\n\t\t该二叉树总共有%d个结点。\n",count);break; case'7': printf("\n\t\t该树的深度为:%d",TreeDepth(T)); break; case'0': ch1='n';break; default: printf("\n\t\t***请注意:输入有误!***"); } if(ch2!='0') { printf("\n\n\t\t按【Enter】键继续,按任意键返回主菜单!\n"); a=getchar(); if(a!='\xA') { getchar(); ch1='n'; } } } } BT *CreateTree() { BT *t; char x; scanf("%c",&x); getchar(); if(x=='0') t=NULL; else { t=new BT; t->data=x; printf("\n\t\t请输入%c结点的左子结点:",t->data);         t->lchild=CreateTree(); printf("\n\t\t请输入%c结点的右子结点:",t->data);         t->rchild=CreateTree();     } return t; } void Preorder(BT *T) { if(T) { printf("%3c",T->data); Preorder(T->lchild); Preorder(T->rchild); } } void Inorder(BT *T) { if(T) { Inorder(T->lchild); printf("%3c",T->data); Inorder(T->rchild); } } void Postorder(BT *T) { if(T) { Postorder(T->lchild); Postorder(T->rchild); printf("%3c",T->data); } } void Leafnum(BT *T) { if(T) { if(T->lchild==NULL&&T->rchild==NULL) count++; Leafnum(T->lchild); Leafnum(T->rchild); } } void Nodenum(BT *T) { if(T) { count++; Nodenum(T->lchild); Nodenum(T->rchild); } } int TreeDepth(BT *T) { int ldep,rdep; if(T==NULL) return 0; else { ldep=TreeDepth(T->lchild); rdep=TreeDepth(T->rchild); if(ldep>rdep) return ldep+1; else return rdep+1; } }

    标签: 二叉树 子系统

    上传时间: 2020-06-11

    上传用户:ccccy

  • 数组子系统

    #include <stdio.h> #include <stdlib.h> #define SMAX 100 typedef struct SPNode { int i,j,v; }SPNode; struct sparmatrix { int rows,cols,terms; SPNode data [SMAX]; }; sparmatrix CreateSparmatrix() { sparmatrix A; printf("\n\t\t请输入稀疏矩阵的行数,列数和非零元素个数(用逗号隔开):"); scanf("%d,%d,%d",&A.cols,&A.terms); for(int n=0;n<=A.terms-1;n++) { printf("\n\t\t输入非零元素值(格式:行号,列号,值):"); scanf("%d,%d,%d",&A.data[n].i,&A.data[n].j,&A.data[n].v); } return A; } void ShowSparmatrix(sparmatrix A) { int k; printf("\n\t\t"); for(int x=0;x<=A.rows-1;x++) { for(int y=0;y<=A.cols-1;y++) { k=0; for(int n=0;n<=A.terms-1;n++) { if((A.data[n].i-1==x)&&(A.data[n].j-1==y)) { printf("%8d",A.data[n].v); k=1; } } if(k==0) printf("%8d",k); } printf("\n\t\t"); } } void sumsparmatrix(sparmatrix A) { SPNode *p; p=(SPNode*)malloc(sizeof(SPNode)); p->v=0; int k; k=0; printf("\n\t\t"); for(int x=0;x<=A.rows-1;x++) { for(int y=0;y<=A.cols-1;y++) { for(int n=0;n<=A.terms;n++) { if((A.data[n].i==x)&&(A.data[n].j==y)&&(x==y)) { p->v=p->v+A.data[n].v; k=1; } } } printf("\n\t\t"); } if(k==1) printf("\n\t\t对角线元素的和::%d\n",p->v); else printf("\n\t\t对角线元素的和为::0"); } int main() { int ch=1,choice; struct sparmatrix A; A.terms=0; while(ch) { printf("\n"); printf("\n\t\t      稀疏矩阵的三元组系统       "); printf("\n\t\t*********************************"); printf("\n\t\t      1------------创建          "); printf("\n\t\t      2------------显示          "); printf("\n\t\t      3------------求对角线元素和"); printf("\n\t\t      4------------返回          "); printf("\n\t\t*********************************"); printf("\n\t\t请选择菜单号(0-3):"); scanf("%d",&choice); switch(choice) { case 1: A=CreateSparmatrix(); break; case 2: ShowSparmatrix(A); break; case 3: SumSparmatrix(A); break; default: system("cls"); printf("\n\t\t输入错误!请重新输入!\n"); break; } if (choice==1||choice==2||choice==3) { printf("\n\t\t"); system("pause"); system("cls"); } else system("cls"); } }

    标签: 数组 子系统

    上传时间: 2020-06-11

    上传用户:ccccy