关键词不能为空

当前您在: 主页 > 高中公式大全 >

资金翻翻公式实验4-函数与指针

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2020-10-30 09:43
tags:day公式

美术考研-名言警句摘抄

2020年10月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是完数,则输出;否则输出。
样例输入:
28
样例输出:
yes
#include
using namespace std;
bool wanshu(int n);
int main()
{
int m;
cin>>m;
if(wanshu(m))
cout<<
else
cout<<
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为求出的倒计时的< br>天数。如果输入的数据不满足条件,输出“ERROR!”。
样例输入:
2012 2 5
样例输出:
距离2012伦敦奥运会还有173天。
#include
using namespace std;
int CountDown(int year,int month,int day);
int main()
{
int y,m,d;
cin>>y>>m>>d;
if(y!=2012||m<1||m>12)
cout<<
else
cout<<距离伦敦奥运会还有天
return 0;
}
int CountDown(int year,int month,int day)
{
int s=0;
switch(month)
{
case 1:
s=31-day+151+27;
break;
case 2:
s=29-day+122+27;
break;
case 3:
s=30-day+91+27;
break;
case 4:
s=31-day+61+27;
break;
case 5:
s=31-day+30+27;
break;
case 6:
s=30-day+27;
break;
case 7:
s=27-day;
break;
}
return s;
}
8.
本题分值:10
题目标题:神奇的英文回文。
题目描述:
许多英语单词无论是顺读还是倒读,其词形完全一样,都是同一个单词,如dad
(爸爸)、noon (中午)、level(水平)等,这样的词称为回文词。在最权威的《牛
津英语大词典》里,最长的回 文词是tattarrattat,是个象声词,表示敲门的声音。
英语的回文句更有趣味(忽略其中的 标点符号)。最著名的一句为:“Madam,I’m
Adam.”(小姐,我是亚当。)据说,这是亚当在伊甸园里初见夏娃作自我介绍时
说的话。
现要求编写一个函数bool huiwen(char *p) 判断输入的一个单词是否为回文词,p是指向要输入的字符串的指针,如果是返回true,否则返回false。
输入描述:输入一个单词后回车。
输出描述:若该单词是回文词,则输出“yes”;否则输出“no”。
样例输入:
level
样例输出:
yes
#include
using namespace std;
bool huiwen(char*p);
int main( )
{
char s[80];
cin>>s;
if(huiwen(s))
cout<<
else
cout<<
return 0;
}
bool huiwen(char*p)
{
int i=0,n=0,k;
while(p[i]!='0')
i=i+1;
k=i-1;
for(int j=0;j{
if(p[j]==p[k])
n=n+1;
else
return false;
k=k-1;
}
if(n==i)
return true;
}
9.
本题分值:10
题目标题:生成指定字符构成的字符串。
题目描述:
编写一个函数,用于生成一个由若干个指定字符构成的字符串,其原型为:
void mystr(char c,int n, char *p);其中,参数c是构造字符串的字符,n是字符
串中字符的个数,p是生成的字符串的首地址。
要求:编写主函数,在主函数中进行字符和字符个数的输入,然后再调用
mystr函数生成字 符串,最后在主函数中将生成的字符串输出。
输入描述:
输入字符c和正整数n,之间用空格隔开。(正整数n的值不超过50)
输出描述:
输出为由n个字符c构成的字符串
样例输入:
# 4
样例输出:
####
#include
using namespace std;
void mystr(char c,int n,char *p);
int main()
{
char a,b[30];
int m;
cin>>a>>m;
mystr(a,m,b);
cout< return 0;
}
void mystr(char c,int n,char *p)
{
for(int i=0;i {
*p=c;
}
*p='0';
}

10. 递归调用
本题分值:10
题目标题:Fibonacci数列问题。
题目描述:
有一个有趣的古典数学问题 :有一对兔子,从出生后第3个月起每个月都生
1对兔子,小兔子长到第3个月后每个月又生1对兔子。 假设所有兔子都不死,
问每个月兔子的总对数为多少
提示:不满1个月的为小兔子,满1个 月不满2个月的为中兔子,满3个月
以上的为老兔子。每对老兔子每个月会生1对小兔子。因此,每个月 的兔子总数
依次为1,1,2,3,5,8,13,…。这就是Fibonacci数列。该数列的递归 定义如下:f(n)=
1 (n等于1或2);f(n)= f(n-1)+ f(n-2) (n>2)
请编写递归函数int fib(int n),求出第n个月兔子的总对数。
输入描述:
输入一个正整数n,表示求第n个月兔子的总对数。
输出描述:
输出为一行“第n个月兔子的总对数为f”,f值为求出的数列第n项的值f(n)。
样例输入:
2
样例输出:
第2个月兔子的总对数为1
#include
using namespace std;
int fib(int n)
{
if(n==1||n==2)
return 1;
else
return fib(n-1)+fib(n-2);
}

int main()
{
int m,i=0;
cin>>m;
cout< return 0;
11. 题目描述:输入一个字符串s存放到字符数组中,将s中下标为偶数的字符
从小到大排序(重新排放位置 ), 其它字符的位置不变。输出排序后得到的新字
符串。以下是完成此项工作的程序,请在计算机上调 试程序以补足其中的空格。
代码:
#include
using namespace std;
int main( )
{
char s[81],t;
int k,j,len;
cin>>s; 输入一个字符串
len=strlen(s); 求出字符串中字符的个数
for(k=0;k<=len-1;k+=2) k代表字符串中从首到尾,每个下标为偶数的字符的
下标
for(j=k+2;j<=len-1; j+=2)
if(s[k] >s[j]) 不是从小到大,则交换
{
t=s[k];
s[k]=s[j];
s[j]=t;
}
cout< return 0;
}
2.题目描述:一群学 生有5个人,按照身高由低到高,排成一队。请编程实现
这一过程。要求,程序中编写函数void sort(double height[ ],int n),对n个学
生的身高由低到高排序。主函数调用该函数后,输出排序结果。
#include
using namespace std;
int main()
{
void sort(double height[ ],int n);
double h[5],n=5;
int j;
for(j=0;j cin>>h[j];
sort(h,n);
for(j=0;j cout< return 0;
}

void sort(double height[ ],int n)
{
int i,j;
double t;
for(i=0;i for(j=0;j if(height[i] {
t=height[j];



}









}
height[j]=height[i];
height[i]=t;

办统招文凭-朝代列表


自考是什么学历-出师表通假字


铁路学校专业排名-西元年


现在什么行业前景好-皖西学院怎么样


英国留学行李清单-词类


机械类-拍题搜答案


艺术院校-被称为塞外苏杭是哪里


补习一对一收费多少钱-名人的故事50字



本文更新与2020-10-30 09:43,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/432651.html

实验4-函数与指针的相关文章