收藏 分享(赏)

算法题目及答案.doc

上传人:精品资料 文档编号:9642397 上传时间:2019-08-19 格式: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;iusing namespace std;bool fun(int year,int month)if(year%400=0|(year%4=0/是闰年且月份大于 2 月el

10、se return false;int main()int y,m,d;while(cinymd)if(y3000|m12|d31)return 1;int sum=0;switch(m)case 12: sum+=30;case 11: sum+=31;case 10: sum+=30;case 9: sum+=31; case 8: sum+=31; case 7: sum+=30; case 6: sum+=31; case 5: sum+=30; case 4: sum+=31; case 3: sum+=28; case 2: sum+=31; default:break;sum+=

11、d;if(fun(y,m)sum+;cout#include #include void showFormatdate(int, int);int main()int year, dates;while(scanf(“%d %d“, void showFormatdate(int year, int dates)int sum, i, m, d;int month12 = 31,28,31,30,31,30,31,31,30,31,30,31;if(year % 100 = 0) for(i = 0, sum = 0; i #include #include using namespace s

12、td;double t1005,a;int N;int main()int i;while(cinN for(i = 0; iti;cina;for(i = 0; iusing namespace std;int main()int n;int p1,p2,p3,p4;while (cinn)for(int i=0;ip1cp2cp3cp4;if(p1=0 #define left(i) (i + 1) * 2 - 1)#define right(i) (left(i) + 1)#define parent(i) (i + 1) / 2)void heapify(int a, int n, i

13、nt index)while (true) int i = index;int l = left(i), r = right(i);if (l = 0; -i) heapify(a, n, i);int main()int n, m;while (scanf(“%d %d“, for (int i = 0; i a0) a0 = num;heapify(a, m, 0);sort(a, a + m, greater();printf(“%d“, a0);for (int i = 1; i #include using namespace std;int main(void)multiset r

14、ecord;int N, M;int ss200;while (cin N M)for (int i=0; i ssi;record.insert(ssi);for (int i=0; i using namespace std;int f(int m,int n)if(n=1)return 1;else if(m=1|m=0)return 1;else if(mt;while(t-)cinmn;cout#define MAXLEN 10001int main()#ifdef ONLINE_JUDGE#elsefreopen(“E:in.txt“, “r“, stdin);#endifint

15、LMAXLEN;int l, m;while (scanf (“%d%d“, i #includeint main(void)int h;while(scanf(“%d“,for(i = 1; i #include int main()int n;char pic8080;char first, second;while(scanf(“%d %c %c“, for(min = max = n / 2 ;min=0/print patternfor(int i = 0; i#include #include #include #include #include #include #include

16、 using namespace std;void shape_str2char(string src , char* dest, int x, int y, int n)for(int i=0; iint main()int n;while (scanf(“%d“,for (int i=0;i#include#include#include#includeusing namespace std;int main()string id,info,str;int i,index,n,M;map m;map:iterator iter;/ fstream cin(“1069.txt“);while (cinn)cin.ignore();m.clear();for (i=0;i(id,info);cinM;for (i=0;iid;iter=m.find(id);if (iter!=m.end()coutfirstsecond#includeusing namespace std;int main()int n;while(cin n)while(n-)int k,i;cin k;vector vv(k);for(i = 0;i vvi;vector out;out.reserve(k);if(vv0 vv1) out.push_back(0);for(i = 1;i vvi-1

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报