用c++找到输入的字符串中第一个质数
时间: 2023-03-26 20:03:20 浏览: 141
我可以帮你编写一个程序来找到输入的字符串中第一个质数。首先,你需要输入一个字符串,然后程序将会扫描字符串中的每个字符,判断它们是否为数字。如果是数字,程序将会将其转换为整数,并判断该整数是否为质数。如果是质数,程序将会输出该数字并结束运行。以下是程序的代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
bool is_prime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == ) {
return false;
}
}
return true;
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
for (int i = ; i < strlen(str); i++) {
if (isdigit(str[i])) {
int num = atoi(&str[i]);
if (is_prime(num)) {
printf("第一个质数是:%d\n", num);
return ;
}
}
}
printf("没有找到质数。\n");
return ;
}
```
请注意,这个程序只会找到输入字符串中的第一个质数。如果你想找到所有的质数,你需要对程序进行修改。
阅读全文