C++ 编程题 A.doc
文本预览下载声明
四.编程题
11. 编写一个自定义函数:int f( int M, int N) ,f( )的功能是:对给定的正整数M和N,找出满足方程5x+6y=M的正整数解中x和y都是偶数的解。要求:若M和N不都是正整数,则结束函数并返回-1;只有M和N都是正整数时,且x,y∈[1, N], 才继续求解操作,并用二重循环进行求解:
在函数中输出满足条件的正整数解x和y,
使函数值返回满足条件的正整数解的组数。
#include iostream
using namespace std;
int f( int M, int N);
void main()
{ coutf(500,650)endl; }
12. 编写一个解“一百元买鸡”问题的自定义函数:int f( int M, int N) ,其中M代表公鸡的单价(元/只),N代表母鸡的单价(元/只),价格由主调函数给定;购鸡方案中要求总花费刚好为100元,且不允许全部购买公鸡或全部购买母鸡(即公鸡、母鸡只数都不能为0);求解所有购鸡方案。若M和N只要有一个以上参数无意义,则函数结束执行并返回-1值;若M和N都有意义,则函数输出所有可能的购鸡方案,并返回方案的组数。要求用二重循环实现。(编号12)
#include iostream
using namespace std;
int f( int M, int N);
void main()
{ coutf(15, 20)endl; }
13. 编写一个自定义函数:int f( long a[], int n, long x) ,f( )的功能是:对给定的含有n个元素的一维数组a及某个指定数x,查找数组a中是否存在元素值等于x的元素,若存在,则函数值返回找到的下标最大的那个元素的下标;若不存在,则函数值返回-1。
#include iostream
using namespace std;
int f(long a[], int n, long x);
void main()
{ long x=7;
long a[5]={3,5,2,7,9};
coutf(a,5,x)endl;
}
16.编写一个自定义函数:int f(int N) ,f( )的功能是:对给定的正整数N,找出满足下列方程“3x+4y=N”的正整数解。若N不是正整数,则结束函数并返回-1;若N是正整数,则函数中输出找到的所有正整数解,并且使函数值返回解的组数。用二重循环实现。
#include iostream
using namespace std;
int f(int N);
void main()
{ coutf(160)endl; }
17. 编写一个解“鸡兔共笼”问题的自定义函数:int f(int N) ,其中N代表动物的脚总数;且笼中每种动物都至少有1只以上。若N不符合实际,则结束函数并返回-1;若N符合实际要求,则函数输出所有可能的鸡、兔数,并返回符合条件解的组数。用二重循环实现。
#include iostream
using namespace std;
int f(int N);
void main()
{ coutf(160)endl; }
18. 编写一个自定义函数:int f( int M) ,f( )的功能是:对给定的正整数M,找出满足方程5x+6y=M且x不超过100的正整数解。若M不是正整数,则结束函数并返回-1;若M是正整数时,则函数中输出所有的正整数解,并且使函数值返回正整数解的组数,要求使用一重循环。
#include iostream
using namespace std;
int f( int M);
void main()
{ coutf(500)endl; }
19. 编写一个自定义函数:int f( int M, int N) ,f( )的功能是:对给定的正整数M和N,找出满足方程7x+4y=M的正整数解中x是偶数且y是奇数的解。要求:若M和N不都是正整数,则结束函数并返回-1;只有M和N都是正整数时,且x,y∈[1,N], 才继续求解操作,用二重循环进行求解:(1)在函数中输出满足条件的正整数解x和y,(2)并且使函数值返回满足条件的正整数解的组数。
#include iostream
using namespace std;
int f( int M, int N);
void main()
{ coutf(500,650)endl; }
20. 编写一个自定义函数:int f( char x, int N) ,f( )的功能是:对给定的字符c和整数N,用c代表的符号打印一个N行的图案,每行开头没有任何空格。比如,当c为*且N为5时,打印的图
显示全部