((n % m) + m) % m; 是做什么
时间: 2023-03-23 09:05:00 浏览: 70
这个表达式的意思是先计算 (n % m) 的值,然后再计算 (m) % m 的值。
其中,"%" 表示取模运算符,它的作用是计算两个数的余数。例如,7 % 3 的结果是 1,因为 7 除以 3 的余数是 1。
这个表达式的结果取决于 n 和 m 的值。如果 n 和 m 都是非负整数,那么这个表达式的结果就是 (n % m) % m。例如,假设 n=7,m=3,那么表达式的结果就是 (7 % 3) % 3,也就是 1 % 3,等于 1。
如果 n 和 m 中有负数,那么这个表达式的结果可能不同。例如,假设 n=-7,m=3,那么表达式的结果就是 (-7 % 3) % 3,也就是 (-1) % 3,等于 -1。
总的来说,这个表达式的作用是计算 n 对 m 取模后的余数,并将其再次对 m 取模。
相关问题
static int m=0,n=3; n*=++m; m=n%x+y++;
在这段代码中,我们需要先了解一下 C 语言中的运算符优先级,以便正确理解表达式的含义。
在 C 语言中,前置自增运算符 `++` 的优先级最高,其次是取模运算符 `%`,然后是赋值运算符 `=`,最后是后置自增运算符 `++`。
所以,根据运算符优先级,表达式的求解过程如下:
1. `++m`,此时 m 的值为 1,n 的值为 3,所以 n 的值变为 4。
2. `n%x`,即 4%3,结果为 1。
3. `y++`,此时 y 的值加 1,变为 1,但表达式中的 y 还是等于 0,因为后置自增运算符的值是先使用再加 1。
4. `m=n%x+y++`,即 m=1+0=1。
所以,最终的结果是 m 等于 1,n 等于 4,y 等于 1。
int main() { int n,m; cin>>n>>m; int sum=0; int scores[101]; for(int i=0;i<n;i++){ scores[i]=2*(i+1);} for(int i=0;i<n/m;i++){ for(int j=0;i<m;j++){sum=sum+scores[i*m+j];} cout<<sum/m<<endl; } int a=0; if(n%m!=0){ for(int i;i<n%m;i++){a=a+scores[n-n%m+i];} cout<<a/m; } return 0; }
这是一个计算成绩平均值的程序。它首先从用户输入中读取两个整数n和m,然后使用循环计算每个学生的分数,并将它们存储在一个名为scores的数组中。接下来,它使用嵌套循环将每个班级的分数相加,并计算平均值,然后输出结果。最后,如果学生人数不能被班级人数整除,则将剩余的学生分数求和,计算平均值并输出。
请注意,这个程序中有几个错误:
1. 第一个for循环中,数组scores的大小应为101而不是n。
2. 第二个for循环中,内部循环的控制变量应为j而不是i。
3. 第二个for循环中,应该在每次班级分数求和之前将sum重置为0。
4. 第三个for循环中,控制变量i应初始化为0。
5. 最后一个for循环中,控制变量i应初始化为0。
下面是修正过的代码:
```cpp
#include <iostream>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
int sum = 0;
int scores[101];
for (int i = 0; i < 101; i++) {
scores[i] = 2 * (i + 1);
}
for (int i = 0; i < n / m; i++) {
sum = 0;
for (int j = 0; j < m; j++) {
sum += scores[i * m + j];
}
cout << sum / m << endl;
}
int a = 0;
if (n % m != 0) {
for (int i = 0; i < n % m; i++) {
a += scores[n - n % m + i];
}
cout << a / m;
}
return 0;
}
```
希望对你有帮助!如果你有任何其他问题,请随时问我。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)