实验4-函数与指针

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验4 函数与指针

程序填空

1.普通参数

本题分值:10

题目描述:输入日期的年份和月份,求该月有多少天。要求编写函数int daynum(int year,int month),求出以year为年份、以month为月份的某个月的天数。以下是完成此项工作的程序,请在计算机上调试程序以补足其中的空格。代码:

字符数组参数

本题分值:10

题目描述:编写一个函数,用来求字符串s的任意子串。函数原型为

void SubString ( char s[ ] , int start , int len , char d[ ] ) ;

其中s是原字符串,d用来存放s中从第start个字符开始(1≤start≤strlen(s) ),长度为len的子串。以下是完成此项工作的程序,请在计算机上调试程序以补足其中的空格。

代码:

#include

using namespace std;

int main( )

{

void SubString(char s[ ], int start, int len, char d[ ]);

char s[81],d[81];

int m,n;

gets(s); 嵌套调用

本题分值:10

题目描述:验证哥德巴赫猜想:对任意输入的正整数n,验证6~n以内的偶数都可分解为两个素数(质数)之和。以下程序中,函数bool divide(int n)是用来将偶数n分解为两个质数的;若分解成功,则返回true;否则返回false。函数bool IsPrime(int m)是用来判断m是否为质数的;若是,则函数返回true;否则返回false。请在计算机上调试以下程序,补足其中的空格。

代码:

#include

#include

using namespace std;

int main()

{

bool divide(int n);

int i,n;

cin>>n;

if(n<6)

{

cout<<"输入数据出错\n";

return 0;

}

for(i=6;i<=n;i+=2)

if(divide(i)== false) 全局变量

本题分值:10

题目描述:编写一函数addup,统计字符串s中字母、数字、空格和其它字符的个数,并且用几个全局变量记录上述统计结果。以下是完成此项工作的程序,请在计算机上调试程序以补足其中的空格。

代码:

#include

using namespace std;

int letter, digit, space, other; 递归调用

本题分值:4

题目描述:

用递归方法求n的阶乘n!,递归公式为:n!=1(n等于0或1),n!= n×(n-1)! (n 大于1)

要求编写递归函数int fact(int n); 以下是完成此项工作的程序,请在计算机上调试程序以补足其中的空格。

代码:

#include

using namespace std;

int main()

{

int fact(int n);

int n,f;

本题分值:10

题目标题:判断完数。

题目描述:

判断正整数n是否为完数。已知一个数如果恰好等于除它本身外的所有因子之和,这个数就称为完数。此程序要求编写函数bool wanshu(int n),判断n是否为完数,若n是,则函数返回true;否则返回false。然后主函数通过该函数的返回值,在屏幕上输出判断结果。

输入描述:

输入一个正整数n。

输出描述:

若n是完数,则输出"yes";否则输出"no"。

样例输入:

28

样例输出:

yes

#include

using namespace std;

bool wanshu(int n);

int main()

{

int m;

cin>>m;

if(wanshu(m))

cout<<"yes"<

else

cout<<"no"<

return 0;

}

bool wanshu(int n)

{

int s=0;

for(int i=1;i

if (n%i==0)

s=s+i;

if (s==n)

return true;

else

return false;

}

7.

本题分值:10

题目标题:伦敦奥运会倒计时。

题目描述:

假定现在已是2012年,请编写程序,计算2012年伦敦奥运会倒计时的天数并输出。已知伦敦奥运会的开幕日期是2012年7月27日。用户输入日期的范围必须是2012年1月1日— 2012年7月26日。要求程序中编写函数int CountDown(int year,int month,int day),来计算从用户输入的日期year-month-day到伦敦奥运会开幕日之间的倒数天数。

提示:所求天数= month这个月的总天数-day+(month+1到6月所有这些月份天数之和)+27。

输入描述:

用户输入的日期的格式必须是year month day。其中year应是2012,month必须满足1≤month≤7。输入的数据之间用空格隔开。

输出描述:

输出为一行“距离2012伦敦奥运会还有x天。”,其中x为求出的倒计时的

相关文档
最新文档