#include <stdio.h> int main() { int i, n; sum=0; scanf("%d", &n); i=0; while(n>0){ if( n/11==0||n/19==0 ) { sum=sum+n; i++; } if( n==12 ) break; n=n-1; } printf("%d\n", sum); return 0; }
时间: 2024-03-14 07:44:38 浏览: 34
这段代码存在几个问题:
1. 变量 `sum` 没有定义,应该先定义后使用。
2. 循环条件 `n>0` 可能会导致死循环,因为没有对变量 `n` 进行修改,应该在循环体内对其进行修改。
3. `if` 语句中的条件 `n/11==0||n/19==0` 可能不符合题目要求,因为它会把所有除以11或19余数为0的数都加入到 `sum` 中,而题目要求的是除以11和19余数都不为0的数。应该将条件改为 `n%11!=0 && n%19!=0`。
4. `if` 语句中的条件 `n==12` 可能会使循环提前结束,但是根据题目要求,应该是当加入到 `sum` 中的数的个数为12时结束循环,因此应该将条件改为 `i==12`。
下面是修改后的代码:
```c
#include <stdio.h>
int main() {
int i = 0, n, sum = 0;
scanf("%d", &n);
while (i < 12) {
if (n % 11 != 0 && n % 19 != 0) {
sum += n;
i++;
}
n--;
}
printf("%d\n", sum);
return 0;
}
```
相关问题
#include <stdio.h>int main(){int n,i,sum;printf(“输入数n:”);scanf(“%d”,&n);i=1;sum=0;do{sum = sum+i;i--;}while(i<=n);printf(“sum=%d\n”,sum);return 0;}
这段代码有几个明显的问题:
1. 缺少头文件 `#include <stdlib.h>`,这样会导致 `scanf` 和 `printf` 函数无法正常使用。
2. `do-while` 循环的判断条件是 `i<=n`,这会导致程序进入无限循环。应该改为 `i<=n && i>=1`。
3. 在 `printf` 函数中,字符串常量应该使用双引号("),而不是中文引号(“)。
经过修复后的代码如下:
```
#include <stdio.h>
#include <stdlib.h>
int main() {
int n, i, sum;
printf("输入数n:");
scanf("%d", &n);
i = n;
sum = 0;
do {
sum = sum + i;
i--;
} while (i >= 1 && i <= n);
printf("sum=%d\n", sum);
return 0;
}
```
#include<stdio.h> #include<math.h> int main() { int num=0; int sum=0; int n=0; scanf("%d",&n); for(int count=1;count<1000;count*=10) { for(int i=1;i<=n;i++) { if(i>9) { num=i/count%10; sum=sum+pow(num,3); } else sum=sum+pow(i,3); if(sum==i) { printf("%d",sum); } } } }哪里错误了
您的代码中存在一些错误:
1. 在计算 `num` 的时候应该是 `num=i/count%10;`,而不是 `num=count/i%10;`。
2. 您的循环逻辑有误,对于每个数,需要将 `sum` 重新置为 0。
以下是修改后的代码:
```
#include <stdio.h>
#include <math.h>
int main() {
int n = 0;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
int sum = 0;
for (int count = 1; count <= i; count *= 10) {
int num = i / count % 10;
sum += pow(num, 3);
}
if (sum == i) {
printf("%d ", sum);
}
}
return 0;
}
```
希望对您有所帮助!
相关推荐
![application/octet-stream](https://img-home.csdnimg.cn/images/20210720083646.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.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)
![](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)
![](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)