C++程序求解答

来源:百度知道 编辑:UC知道 时间:2024/06/02 20:34:22
【程序1】. 中国有句俗话叫“三天打鱼,两天晒网”,某人从2007年1月1日起开始“三天打鱼,两天晒网”。问这个人在以后的某一天中是在“打鱼”,还是在“晒网”。
【程序2】某个公司采用公用电话传递N组数据,每组数据由四位整数组成,数据在传递过程中是加密的,加密规则如下:每组数据中的每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。要求:
(1) 所有数据由计算机随机产生。
(2) 输出明文和加密文件。
【程序3】约瑟夫问题是十七世纪法国的数学家加斯帕在《数目的游戏问题》中讲的一个故事:15个基督教徒和15个异教徒在海上遇险,必须将一半的人投入海中,其余的人才能幸免于难,于是想了个办法:30个人围成一个圆圈,从第一个人开始一次报数,每数到第9个人就将他扔入大海,如此循环进行直到仅余15个人为止。问怎样排法,才能使每次投入大海的都是异教徒。
【程序4】题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。
1.程序分析:关键是计算出每一项的值。
2.程序源代码:
【程序5】将1到9这几个数字不重复地分成三组,每组三个数字组成一个三位数,要求这三个数都是完全平方数。
例如:361=19×19 529=23×23 784=28×28

【程序1】.

#include <iostream>
using namespace std;
int main()
{int sum_day(int,int);
int leap(int year);
int year,month,day,days=0,doing;
cout<<"输入年月日:";
cin>>year>>month>>day;
cout<<year<<"/"<<month<<"/"<<day;
days=sum_day(month,day); /* 调用函数一 */
if(leap(year) && month>=3) /* 调用函数二 */
days=days+1;
while(year>=2007)
{ year--;
if(leap(year)) days+=366;
else days+=365;
}

doing=days%5;
switch(doing)
{case 1:
case 2:
case 3:cout<<"今天打鱼!"<<endl;break; //余数是1,2,3打鱼
case 0:
case 4:cout<<"今天晒网!"<<endl;break;

return 0;
}
}

int sum_day(int month,int day)