写一个程序,要求:输入一个任意长度(不超过100)的正整数,判-|||-其能否被3整除 C语言?

如题所述

可以使用 C 语言中的字符数组来实现输入一个任意长度的正整数。具体来说,从标准输入中读入一个字符串,然后遍历字符串中的每个字符,将它们转换成数字并累加求和。最后,判断这个和是否能被3整除即可。
下面是示例代码:
#include <stdio.h>#include <stdlib.h>#include <string.h>int main() { char num[101]; // 定义字符数组存储输入的正整数
int i, sum = 0; scanf("%s", num); // 从标准输入中读入字符串
for (i = 0; i < strlen(num); i++) { // 遍历字符串
sum += num[i] - '0'; // 将字符转换成数字并累加到总和中
} if (sum % 3 == 0) { printf("能被3整除\n");
} else { printf("不能被3整除\n");
} return 0;
}

在上述代码中,我们使用了 C 语言中的字符串函数 strlen() 来获取输入字符串的长度。另外,由于输入的是数字字符串,我们需要通过将字符转换成数字来累加求和。具体来说,将字符 '0' 的 ASCII 码值减去当前字符的 ASCII 码值,就可以得到对应的数字。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-04-11
好的,以下是一个可以判断一个数能否被3整除的C语言程序:
#include <stdio.h>#include <string.h>int main(){ char num[101]; int i, len, sum = 0; printf("请输入一个正整数:"); scanf("%s", num);

len = strlen(num); for (i = 0; i < len; i++)
{
sum += num[i] - '0';
} if (sum % 3 == 0)
{ printf("%s可以被3整除。\n", num);
} else
{ printf("%s不能被3整除。\n", num);
} return 0;
}
相似回答