⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cjj110.htm

📁 c++的一些程序
💻 HTM
📖 第 1 页 / 共 3 页
字号:
                              st8          
                              90          
                              PASS<BR>&nbsp;&nbsp;&nbsp; 
                              st10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              89&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              PASS<BR>&nbsp;&nbsp;&nbsp; 
                              st5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;88&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PASS<BR>&nbsp;&nbsp;&nbsp; 
                              st2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              80&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              PASS<BR>&nbsp;&nbsp;&nbsp; 
                              st6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              75&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              PASS<BR>&nbsp;&nbsp;&nbsp; 
                              st1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              67&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              PASS<BR>&nbsp;&nbsp;&nbsp; 
                              st9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              66&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              FAIL<BR>&nbsp;&nbsp;&nbsp; 
                              st4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              56&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              FAIL<BR>&nbsp;&nbsp;&nbsp; 
                              st7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              46&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              FAIL<BR><BR>---------------------------------------------------------<BR><BR><FONT 
                              color=#0000ff>题23.编写一个程序,输入用户的姓名和电话号码,按姓名的词典顺序排列后,输出用户的姓名和电话号码。<BR></FONT>解:<BR>&nbsp;&nbsp;&nbsp; 
                              设计一个类person,包含学生的姓名和电话号码等数据,以及setname()、setnum()、getname()和getnum()等四个成员函数。设计一个类compute,包含一个私有数据成员,即person类的对象数组pn[],另有三个公共成员函数getdata()、sort()、disp(),它们分别用于获取数据、按姓名的词典顺序排序和输出数据。<BR>本题程序如下:<BR>#include&lt;stdio.h&gt;<BR>#include&lt;string.h&gt;<BR>#define 
                              N 5<BR>class person<BR>{<BR>&nbsp;&nbsp;&nbsp; 
                              char name[10];<BR>&nbsp;&nbsp;&nbsp; char 
                              num[10];<BR>&nbsp;&nbsp;&nbsp; 
                              public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              void setname(char 
                              na[]){strcpy(name,na);}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              void setnum(char 
                              nu[]){strcpy(num,nu);}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              char *getname(){return 
                              name;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              char *getnum(){return num;}<BR>};<BR>class 
                              compute<BR>{<BR>&nbsp;&nbsp;&nbsp; person 
                              pn[N];<BR>&nbsp;&nbsp;&nbsp; 
                              public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              void 
                              getdata();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              void 
                              getsort();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              void outdata();<BR>};<BR>void 
                              compute::getdata()<BR>{<BR>&nbsp;&nbsp;&nbsp; int 
                              i;<BR>&nbsp;&nbsp;&nbsp; char 
                              na[10],nu[10];<BR>&nbsp;&nbsp;&nbsp; 
                              printf("输入姓名和电话号码:\n");<BR>&nbsp;&nbsp;&nbsp; 
                              for(i=0;i&lt;N;i++)<BR>&nbsp;&nbsp;&nbsp; 
                              {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              printf("&nbsp; 
                              第%d个人:",i+1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              scanf("%s%s",na,nu);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              pn[i].setname(na);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              pn[i].setnum(nu);<BR>&nbsp;&nbsp;&nbsp; 
                              }<BR>}<BR>void 
                              compute::getsort()<BR>{<BR>&nbsp;&nbsp;&nbsp; int 
                              i,j,k;<BR>&nbsp;&nbsp;&nbsp; person 
                              temp;<BR>&nbsp;&nbsp;&nbsp; 
                              for(i=0;i&lt;N-1;i++)<BR>&nbsp;&nbsp;&nbsp; 
                              {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              k=i;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              for(j=i+1;j&lt;N;j++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              if(strcmp(pn[k].getname(),pn[j].getname())&gt;0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              k=j;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp=pn[k];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              pn[k]=pn[i];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              pn[i]=temp;<BR>&nbsp;&nbsp;&nbsp; }<BR>}<BR>void 
                              compute::outdata()<BR>{<BR>&nbsp;&nbsp;&nbsp; int 
                              i;<BR>&nbsp;&nbsp;&nbsp; 
                              printf("输出结果:\n");<BR>&nbsp;&nbsp;&nbsp; 
                              printf("&nbsp; 姓名&nbsp;&nbsp; 
                              电话号码\n");<BR>&nbsp;&nbsp;&nbsp; 
                              printf("-------------------\n");<BR>&nbsp;&nbsp;&nbsp; 
                              for(i=0;i&lt;N;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              printf("&nbsp; 
                              %-8s%-8s\n",pn[i].getname(),pn[i].getnum());<BR>}<BR><BR>void 
                              main()<BR>{<BR>&nbsp;&nbsp;&nbsp; compute 
                              obj;<BR>&nbsp;&nbsp;&nbsp; 
                              obj.getdata();<BR>&nbsp;&nbsp;&nbsp; 
                              obj.getsort();<BR>&nbsp;&nbsp;&nbsp; 
                              obj.outdata();<BR>}<BR><BR>本程序的执行结果如下:<BR>输入姓名和电话号码:<BR>&nbsp; 
                              第1个人:Li87653781<BR>&nbsp; 
                              第2个人:Zheng98356312<BR>&nbsp;&nbsp;第3个人:Ma87867405<BR>&nbsp; 
                              第4个人:Chen86888882<BR>&nbsp; 第5个人:Xu 
                              87862345<BR>输出结果<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              姓名&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              电话号码<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
                              Chen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;86888882<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
                              Li&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;87653781<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
                              Ma&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;87863705<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
                              Xu&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;87862345<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
                              Zheng&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;98356312 
                              <BR><BR>---------------------------------------------------------<BR><BR><FONT 
                              color=#0000ff>题24.编写一个程序,输入n个学生的姓名和出生日期,并按年龄从大到小输出。<BR></FONT><FONT 
                              color=#000000>解:<BR>&nbsp;&nbsp;&nbsp;&nbsp;设计一个结构体person,包含学生的姓名和出生日期等数据;设计一个类compute,包含一个私有数据成员,即person结构体数组st[],另有三个私有成员函数daynum()、count_day()、leap(),以及三个公共成员函数getdata、sort()、disp(),它们分别用于获取数据、按出生日期排序和输出数据,在实现过程中调用前面的三个私有成员函数。sort()成员函数是按结构体数组元素的d成员排序的,d存放的是该学生从1900年1月1日到出生日期的天数。<BR>本题程序如下:<BR>#include&lt;stdio.h&gt;<BR>#define 
                              N 4<BR>int count_day(int,int,int,int);<BR>int 
                              leap(int);<BR>struct 
                              person<BR>{<BR>&nbsp;&nbsp;&nbsp; char 
                              name[10];<BR>&nbsp;&nbsp;&nbsp; struct 
                              dates<BR>&nbsp;&nbsp;&nbsp; 
                              {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              int 
                              year;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              int 
                              month;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              int day;<BR>&nbsp;&nbsp;&nbsp; 
                              }date;<BR>&nbsp;&nbsp;&nbsp; int d;&nbsp;&nbsp; // 
                              ww 1900.1.1到出生日的天数<BR>};<BR>class 
                              compute<BR>{<BR>&nbsp;&nbsp;&nbsp; struct person 
                              st[N];<BR>&nbsp;&nbsp;&nbsp; int 
                              daynum(int,int,int,int,int,int);<BR>&nbsp;&nbsp;&nbsp; 
                              int 
                              count_day(int,int,int,int);<BR>&nbsp;&nbsp;&nbsp; 
                              int leap(int);<BR>&nbsp;&nbsp;&nbsp; 
                              public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              void 
                              getdata();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              void 
                              sort();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              void disp();<BR>};<BR>int compute::daynum(int 
                              s_year,int s_month,int s_day,int e_year,int 
                              e_month,int e_day)<BR>{<BR>&nbsp;&nbsp;&nbsp; int 
                              year,day,day1,day2;<BR>&nbsp;&nbsp;&nbsp; 
                              if(s_year&lt;e_year)<BR>&nbsp;&nbsp;&nbsp; 
                              {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              day=count_day(s_year,s_month,s_day,0);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              for(year=s_year+1;year&lt;e_year;year++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              if(leap(year))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              day+=366L;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              day+=365L;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              day+=count_day(e_year,e_month,e_day,1);<BR>&nbsp;&nbsp;&nbsp; 
                              }<BR>&nbsp;&nbsp;&nbsp; else 
                              if(s_year==e_year)<BR>&nbsp;&nbsp;&nbsp; 
                              {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              day1=count_day(s_year,s_month,s_day,1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              day2=count_day(e_year,e_month,e_day,1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              day=day2-day1;<BR>&nbsp;&nbsp;&nbsp; 
                              }<BR>&nbsp;&nbsp;&nbsp; 
                              else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              day=-1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;return 
                              day;<BR>}<BR>int compute::count_day(int year,int 
                              month,int day,int flag)<BR>{<BR>&nbsp;&nbsp;&nbsp; 
                              static int 
                              day_tab[2][12]=<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              {{31,28,31,30,31,30,31,31,30,31,30,31},<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{31,29,31,30,31,30,31,31,30,31,30,31}};<BR>&nbsp;&nbsp;&nbsp; 
                              /*使用二维数组存放各月天数,第一行对应非闰年,第二行对应闰年*/<BR>&nbsp;&nbsp;&nbsp; 
                              int p,i,s;<BR>&nbsp;&nbsp;&nbsp; 
                              if(leap(year))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              p=1;<BR>&nbsp;&nbsp;&nbsp; 
                              else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              p=0;<BR>&nbsp;&nbsp;&nbsp; 
                              if(flag)<BR>&nbsp;&nbsp;&nbsp; 
                              {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              s=day;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              for(i=1;i&lt;month;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              s+=day_tab[p][i-1];<BR>&nbsp;&nbsp;&nbsp; 
                              }<BR>&nbsp;&nbsp;&nbsp; 
                              else<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              s=day_tab[p][month]-day;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              for(i=month+1;i&lt;=12;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              s+=day_tab[p][i-1];<BR>&nbsp;&nbsp;&nbsp; 
                              }<BR>&nbsp;&nbsp;&nbsp; return s;<BR>}<BR>int 
                              compute::leap(int year)<BR>{<BR>&nbsp;&nbsp;&nbsp; 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -