算法题目及答案.doc

上传人:h**** 文档编号:1097653 上传时间:2018-12-06 格式:DOC 页数:197 大小:613.50KB
下载 相关 举报
算法题目及答案.doc_第1页
第1页 / 共197页
算法题目及答案.doc_第2页
第2页 / 共197页
算法题目及答案.doc_第3页
第3页 / 共197页
算法题目及答案.doc_第4页
第4页 / 共197页
算法题目及答案.doc_第5页
第5页 / 共197页
点击查看更多>>
资源描述

1、1.题目描述:对输入的 n 个数进行排序并输出。输入:输入的第一行包括一个整数 n(1#include #include using namespace std;int main()int n;while(cinnint itemp;for(int i=0;iitemp;ivec.push_back(itemp);sort(ivec.begin(),ivec.end();for(vector:iterator j=ivec.begin();j!=ivec.end();j+)cout#includestruct studentchar name101;int age;int score;int

2、main()int n,i,j;struct student a1000,temp;while(scanf(“%d“,iaj.score)temp=aj-1;aj-1=aj;aj=temp;else if(aj-1.score=aj.score)if(strcmp(aj-1.name,aj.name)0)temp=aj-1;aj-1=aj;aj=temp;else if(strcmp(aj-1.name,aj.name)=0)if(aj-1.ageaj.age)temp=aj-1;aj-1=aj;aj=temp;for(i=0;iint main()int i,n,t,j,a1000;whil

3、e(scanf(“%d“,i=0j-;aj+1=t;printf(“%dn“,an-1);if(n=1) printf(“-1n“);else for(i=0;i#include #include #include using namespace std;struct infostring id;string name;int score;bool cmp_id(const struct info a,const struct info b)return a.idnc)if(n=0count+;struct info datan;for(int i=0;idatai.iddatai.named

4、atai.score;switch(c)case 1:sort(data,data+n,cmp_id);break;case 2:sort(data,data+n,cmp_name);break;case 3:sort(data,data+n,cmp_score);printf(“Case %d:n“,count);for(int i=0;i#includeint main()char string200,temp;int i,j,n;while(scanf(“%s“,string)!=EOF)n=0;while(stringn)n+;for(i=1;i0)temp=stringj;strin

5、gj=stringj+1;stringj+1=temp;printf(“%sn“,string);return 0;7. 题目描述:有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天输入:有多组数据,每组数据有两行,分别表示两个日期,形式为 YYYYMMDD输出:每组数据输出一行,即日期差值样例输入:2011041220110422样例输出:11#include#include#define MAX_DATE_SIZE 9int Days12=31,28,31,30,31,30,31,31,30,30,31;typedef struct Dateint Year

6、;int Month;int Day;Date;int main(int argc,char *argv)int i,L;int HLN1,HLN2;int sDay,eDay;Date sDate,eDate;char sdateMAX_DATE_SIZE,edateMAX_DATE_SIZE;while(scanf(“%s“,sdate)!=EOF)sDay=0;eDay=0;/日期格式转化sDate.Year=(sdate0-0)*1000+(sdate1-0)*100+(sdate2-0)*10+(sdate3-0);sDate.Month=(sdate4-0)*10+(sdate5-

7、0);sDate.Day=(sdate6-0)*10+(sdate7-0);scanf(“%s“,edate);eDate.Year=(edate0-0)*1000+(edate1-0)*100+(edate2-0)*10+(edate3-0);eDate.Month=(edate4-0)*10+(edate5-0);eDate.Day=(edate6-0)*10+(edate7-0);HLN1=(int)(sDate.Year/4)-(int)(sDate.Year/100)+(int)(sDate.Year/400);HLN2=(int)(eDate.Year/4)-(int)(eDate

8、.Year/100)+(int)(eDate.Year/400);for(i=0;iusingnamespacestd;intmain()intyear,month,day;while(cinyearmonthday)if(month#includeusing namespace std;int main()char month1220=“January“,“February“,“March“,“April“,“May“,“June“,“July“,“August“,“September“,“October“,“November“,“December“;/egg broken. string

9、week7=“Sunday“,“Monday“,“Tuesday“,“Wednesday“,“Thursday“,“Friday“,“Saturday“;int m_day12=0,3,3,6,1,4,6,2,5,0,3,5;int l_day12=0,3,4,0,2,5,0,3,6,1,4,6;int year,day,m,ans;char mon20;while(cindaymonyear)int i;for(i=0;i12;i+)if(strcmp(monthi,mon)=0)m=i;if(year%4=0elseans=(year+year/4+year/400-year/100-1+m_daym+day)%7;coutweekansendl;return 0;9. 题目描述:输入年、月、日,计算该天是本年的第几天。输入:包括三个整数年(1=Y=3000)、月(1=M=12)、日(1=D=31)。输出:输入可能有多组测试数据,对于每一组测试数据,输出一个整数,代表 Input 中的年、月、日对应本年的第几天。样例输入:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 参考答案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。