定义一个函数 addLmt100(int num1, int num2)。该函数有两个整型的输入参数 num1 和 num2;函数返回值类型为 整型。该函数的功能是:在屏幕上列出一个算式 num1 + num2 =,然后接受一个键盘输入的计算答案 answer。 若结果正确,则屏幕输出一句赞扬的语句,然后返回函数值 1;若结果错误,则屏幕输出一句鼓励的语句,并输 出正确答案,然后返回函数值 0。
时间: 2024-01-21 13:16:24 浏览: 47
以下是函数 addLmt100 的实现:
```c++
int addLmt100(int num1, int num2) {
int result = num1 + num2;
cout << num1 << " + " << num2 << " = ";
int answer;
cin >> answer;
if (answer == result) {
cout << "答案正确,太棒了!" << endl;
return 1;
} else {
cout << "答案错误,正确答案是 " << result << ",再接再厉!" << endl;
return 0;
}
}
```
该函数首先计算 num1 和 num2 的和,然后输出算式,接受键盘输入的答案,并与计算结果比较。若答案正确,则输出赞扬的语句并返回 1;若答案错误,则输出鼓励的语句并返回 0。
相关问题
定义一个函数 subLmt100(int num1, int num2)。该函数有两个整型输入参数 num1 和 num2;函数返回值类型为整 2 型。该函数的功能是:在屏幕上列出一个算式 numM1 - numM2 = ,其中:numM1 是 num1 和 num2 中较大的 一个数,numM2 是 num1 和 num2 中较小的一个数;然后接受一个键盘输入的计算答案 answer。若结果正确, 则屏幕输出一句赞扬的语句,然后返回函数值 1;若结果错误,则屏幕输出一句鼓励的语句,并输出正确答案, 然后返回函数值 0
下面是函数的定义和实现:
```c++
int subLmt100(int num1, int num2) {
int numM1 = num1 > num2 ? num1 : num2; // 找到较大数
int numM2 = num1 < num2 ? num1 : num2; // 找到较小数
int answer;
cout << numM1 << " - " << numM2 << " = "; // 输出算式
cin >> answer; // 接受键盘输入
if (answer == numM1 - numM2) { // 判断答案是否正确
cout << "太棒了,答案正确!" << endl; // 输出赞扬
return 1;
} else {
cout << "加油,你可以做得更好!答案是 " << numM1 - numM2 << endl; // 输出鼓励和正确答案
return 0;
}
}
```
函数的调用示例:
```c++
int main() {
int a = 60, b = 87;
int result = subLmt100(a, b);
return 0;
}
```
假设用户输入的答案是 27,则输出如下:
```
87 - 60 = 27
太棒了,答案正确!
```
假设用户输入的答案是 28,则输出如下:
```
87 - 60 = 28
加油,你可以做得更好!答案是 27
```
本题要求实现一个函数,可分解得到任一大于等于2的正整数的质因子。 在main函数中输入一个大于等于2的正整数,调用该函数后,按从小到大的顺序输出所有质因子的乘积形式。 函数接口定义: int prime_factor(int* factors, int num); 其中 factors 和 num 都是用户传入的参数。 factors是指向一维整型数组元素的指针,该数组用于存储 num的所有因子(按从小到大的顺序),num的值不超过int的范围;该函数返回num质因子的个数。 裁判测试程序样例: #include <stdio.h> int prime_factor(int* factors, int num); int main() { int n; scanf("%d", &n); int f[32]; int cnt = prime_factor(f, n); printf("%d", *f); for(int i=1; i<cnt; i++){ printf("*%d", *(f+i)); } printf("\n"); return 0; } /* 请在这里填写答案 */ 输入样例1: 30 输出样例1: 2*3*5 输入样例2: 13 输出样例2: 13
以下是本题的答案代码:
```c
#include <stdio.h>
int prime_factor(int* factors, int num) {
int cnt = 0; // 记录质因子的个数
for (int i = 2; i <= num; i++) {
while (num % i == 0) { // 不断除以当前质因子,直到除不尽为止
factors[cnt++] = i; // 将当前质因子存入数组中
num /= i;
}
}
return cnt;
}
int main() {
int n;
scanf("%d", &n);
int f[32];
int cnt = prime_factor(f, n);
printf("%d", *f);
for (int i = 1; i < cnt; i++) {
printf("*%d", *(f + i));
}
printf("\n");
return 0;
}
```
该函数的思路是:从2开始,不断尝试将当前数除以2、3、4、5……直到除不尽为止,此时将当前数存储为一个质因子,再将当前数除以该质因子。重复上述过程直到当前数为1,此时所有的质因子都已经找到。由于需要将质因子存储到一个数组中,因此需要记录质因子的个数,最后返回该个数即可。
阅读全文