c语言求1+2+……+n≤m
时间: 2023-11-18 13:06:07 浏览: 95
以下是C语言求1+2+……+n≤m的代码实现:
```c
#include <stdio.h>
int main() {
int n, m, sum = 0;
scanf("%d %d", &n, &m);
for (int i = 1; i <= n; i++) {
sum += i;
if (sum > m) {
printf("%d", i - 1);
break;
}
}
return 0;
}
```
代码说明:
- 首先定义变量n、m和sum,分别表示求和的项数、和的上限和当前的和。
- 通过scanf函数从键盘输入n和m的值。
- 使用for循环计算1+2+……+n的和,并在每次循环中判断当前的和是否大于m,如果大于则输出当前项数i-1并跳出循环。
- 如果循环结束后仍未找到符合条件的项数,则说明n的值过大,输出n。
相关问题
c语言求1+2+……+n≤m的最大值n和sum
以下是两种C语言求1+2+……+n≤m的最大值n和sum的例子:
1.使用while循环实现:
```c
#include <stdio.h>
int main() {
int n = 1, sum = 0, m;
printf("m:");
scanf("%d", &m);
while (sum + n <= m) {
sum += n;
n++;
}
printf("n=%d, sum=%d", n - 1, sum);
return 0;
}
```
2.使用for循环实现:
```c
#include <stdio.h>
int main() {
int n, sum = 0, m;
printf("m:");
scanf("%d", &m);
for (n = 1; sum + n <= m; n++) {
sum += n;
}
printf("n=%d, sum=%d", n - 1, sum);
return 0;
}
```
C语言.求1+2+3+……+n的值
以下是C语言求1+2+3+……+n的值的例子:
```c
#include <stdio.h>
#include <stdlib.h>
int fun(int m);
int main(){
int n,sum=0;
printf("Please enter a number:");
scanf("%d",&n); if(n<=0){
printf("Enter error");
exit(0);
}
sum=fun(n);
printf("sum=%d\n",sum);
return 0;
}
int fun(int m){
if(m==1){
return 1;
}
return m+fun(m-1);
}
```
阅读全文