用C语言写出以下代码:在一个长度小于1000的只有数字的字符串中输出用其中数字组成能被15整除的最大的数
时间: 2024-10-07 09:01:15 浏览: 36
在C语言中,你可以通过遍历字符串并寻找符合条件的数字组合来解决这个问题。这里是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h>
// 函数用来判断一个由数字组成的字符串能否被15整除
int canDivideBy15(char str[]) {
int num = 0;
for (int i = 0; i < strlen(str); i++) {
if ('0' <= str[i] && str[i] <= '9') { // 检查字符是否为数字
num = num * 10 + (str[i] - '0'); // 将当前数字加入到num中
} else {
return num % 15 == 0; // 如果遇到非数字字符,检查num是否能被15整除
}
}
return num % 15 == 0; // 返回整个字符串组成的数字是否能被15整除
}
// 主函数找出并打印最大能被15整除的数字
void findMaxDivisibleBy15(char str[]) {
for (int i = strlen(str) - 1; i >= 0; i--) { // 从后向前遍历,以便找到最大的数
if (canDivideBy15(&str[i])) {
printf("能被15整除的最大数是: %s\n", &str[i]);
break; // 找到后就停止搜索
}
}
}
int main() {
char input[1001]; // 输入的字符串,假设长度小于1000
fgets(input, sizeof(input), stdin); // 用户输入
input[strcspn(input, "\n")] = '\0'; // 去掉换行符
findMaxDivisibleBy15(input);
return 0;
}
```
这个程序首先读取用户输入的一个只包含数字的字符串,然后从后往前查找可以被15整除的最大数字,并将其打印出来。
阅读全文