欢迎来到天天文库
浏览记录
ID:49691069
大小:65.50 KB
页数:7页
时间:2020-03-03
《实验4 函数与指针.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验4函数与指针程序填空1.本题分值:10题目描述:输入日期的年份和月份,求该月有多少天。要求编写函数intdaynum(intyear,intmonth),求出以year为年份、以month为月份的某个月的天数。以下是完成此项工作的程序,请在计算机上调试程序以补足其中的空格。代码://通过日期求某月的天数。#includeusingnamespacestd;voidmain(){intdaynum(intyear,intmonth);inty,m,d;cin>>y>>m;if(y<1900
2、
3、y>=3000
4、
5、m<1
6、
7、m>12){cout<<
8、"输入错误!"<9、10、year%400==0)days=2911、;elsedays=28;break;}return__(2)__;}2.本题分值:10题目描述:编写一个函数,用来求字符串s的任意子串。函数原型为voidSubString(chars[],intstart,intlen,chard[]);其中s是原字符串,d用来存放s中从第start个字符开始(1≤start≤strlen(s)),长度为len的子串。以下是完成此项工作的程序,请在计算机上调试程序以补足其中的空格。代码:#includeusingnamespacestd;voidmain(){voidSubString(chars[],int12、start,intlen,chard[]);chars[81],d[81];intm,n;gets(s);//输入一个字符串的值存放在字符数组s中,以回车结束//cout<<"从第m个字符开始(m≥1)取n个字符构成的子串。请依次输入m、n的值:";cin>>m>>n;if(m>strlen(s)13、14、n>strlen(s)15、16、m+n>strlen(s)+1){cout<<"m、n值超过了范围!";return0;}SubString(__(1)__);cout<17、ing(chars[],intstart,intlen,chard[]){intk,j;for(j=0,k=start-1;j<=__(2)__;j++,k++)d[j]=s[k];d[len]=' ';}3.本题分值:10题目描述:验证哥德巴赫猜想:对任意输入的正整数n,验证6~n以内的偶数都可分解为两个素数(质数)之和。以下程序中,函数booldivide(intn)是用来将偶数n分解为两个质数的;若分解成功,则返回true;否则返回false。函数boolIsPrime(intm)是用来判断m是否为质数的;若是,则函数返回true;否则返回false。请在计18、算机上调试以下程序,补足其中的空格。代码:#include#includeusingnamespacestd;voidmain(){booldivide(intn);inti,n;cin>>n;if(n<6){cout<<"输入数据出错";return0;}for(i=6;i<=n;i+=2)if(divide(i)==__(1)__)//对i进行分解,并判断分解是否成功{cout<<"猜想错误";return0;}}booldivide(intn){boolIsPrime(intn);inti,m;for(i=3;i<=n19、/2;i++){if(!IsPrime(i))continue;m=n-i;if(__(2)__)break;//若m是素数,则分解已成功,结束该循环}if(i>n/2)returnfalse;cout<
9、
10、year%400==0)days=29
11、;elsedays=28;break;}return__(2)__;}2.本题分值:10题目描述:编写一个函数,用来求字符串s的任意子串。函数原型为voidSubString(chars[],intstart,intlen,chard[]);其中s是原字符串,d用来存放s中从第start个字符开始(1≤start≤strlen(s)),长度为len的子串。以下是完成此项工作的程序,请在计算机上调试程序以补足其中的空格。代码:#includeusingnamespacestd;voidmain(){voidSubString(chars[],int
12、start,intlen,chard[]);chars[81],d[81];intm,n;gets(s);//输入一个字符串的值存放在字符数组s中,以回车结束//cout<<"从第m个字符开始(m≥1)取n个字符构成的子串。请依次输入m、n的值:";cin>>m>>n;if(m>strlen(s)
13、
14、n>strlen(s)
15、
16、m+n>strlen(s)+1){cout<<"m、n值超过了范围!";return0;}SubString(__(1)__);cout<17、ing(chars[],intstart,intlen,chard[]){intk,j;for(j=0,k=start-1;j<=__(2)__;j++,k++)d[j]=s[k];d[len]=' ';}3.本题分值:10题目描述:验证哥德巴赫猜想:对任意输入的正整数n,验证6~n以内的偶数都可分解为两个素数(质数)之和。以下程序中,函数booldivide(intn)是用来将偶数n分解为两个质数的;若分解成功,则返回true;否则返回false。函数boolIsPrime(intm)是用来判断m是否为质数的;若是,则函数返回true;否则返回false。请在计18、算机上调试以下程序,补足其中的空格。代码:#include#includeusingnamespacestd;voidmain(){booldivide(intn);inti,n;cin>>n;if(n<6){cout<<"输入数据出错";return0;}for(i=6;i<=n;i+=2)if(divide(i)==__(1)__)//对i进行分解,并判断分解是否成功{cout<<"猜想错误";return0;}}booldivide(intn){boolIsPrime(intn);inti,m;for(i=3;i<=n19、/2;i++){if(!IsPrime(i))continue;m=n-i;if(__(2)__)break;//若m是素数,则分解已成功,结束该循环}if(i>n/2)returnfalse;cout<
17、ing(chars[],intstart,intlen,chard[]){intk,j;for(j=0,k=start-1;j<=__(2)__;j++,k++)d[j]=s[k];d[len]=' ';}3.本题分值:10题目描述:验证哥德巴赫猜想:对任意输入的正整数n,验证6~n以内的偶数都可分解为两个素数(质数)之和。以下程序中,函数booldivide(intn)是用来将偶数n分解为两个质数的;若分解成功,则返回true;否则返回false。函数boolIsPrime(intm)是用来判断m是否为质数的;若是,则函数返回true;否则返回false。请在计
18、算机上调试以下程序,补足其中的空格。代码:#include#includeusingnamespacestd;voidmain(){booldivide(intn);inti,n;cin>>n;if(n<6){cout<<"输入数据出错";return0;}for(i=6;i<=n;i+=2)if(divide(i)==__(1)__)//对i进行分解,并判断分解是否成功{cout<<"猜想错误";return0;}}booldivide(intn){boolIsPrime(intn);inti,m;for(i=3;i<=n
19、/2;i++){if(!IsPrime(i))continue;m=n-i;if(__(2)__)break;//若m是素数,则分解已成功,结束该循环}if(i>n/2)returnfalse;cout<
此文档下载收益归作者所有