c语言从字符串中找出数字
时间: 2024-05-09 20:18:50 浏览: 6
可以使用isdigit()函数来判断一个字符是否为数字,从而逐个字符遍历字符串,将数字字符提取出来组成数字。具体代码如下:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
char str[100];
int i, num = 0;
printf("请输入一个字符串:");
gets(str);
for (i = 0; i < strlen(str); i++) {
if (isdigit(str[i])) { // 判断字符是否为数字
num = num * 10 + str[i] - '0'; // 字符转数字
}
}
printf("字符串中的数字为:%d\n", num);
return 0;
}
```
需要注意的是,以上代码只能提取出一个数字,如果字符串中含有多个数字需要进行修改。
相关问题
c语言从字符串中找出数字并输出
以下是一个示例程序,可以从字符串中找出数字并输出:
```
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
printf("请输入字符串:");
fgets(str, 100, stdin);
printf("其中的数字为:");
for(int i = 0; str[i] != '\0'; i++) {
if(isdigit(str[i])) { // 如果是数字
printf("%c", str[i]);
}
}
return 0;
}
```
程序首先从用户输入中读入一个字符串,然后遍历字符串中的每个字符,如果字符是数字,就输出它。在这个程序中,我们使用了 `isdigit()` 函数来判断一个字符是否是数字。如果是数字,就输出它。
c语言 找出字符串中包含的最大的正整数
以下是一个示例代码,可以找出给定字符串中的最大正整数:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int i, j, len, num, max_num;
// 读入字符串
printf("请输入字符串:");
scanf("%s", str);
len = strlen(str);
num = 0;
max_num = 0;
// 遍历字符串
for (i = 0; i < len; i++) {
// 如果当前字符是数字,则计算当前数字
if (str[i] >= '0' && str[i] <= '9') {
num = num * 10 + (str[i] - '0');
} else {
// 如果当前字符不是数字,则比较当前数字和最大数字
if (num > max_num) {
max_num = num;
}
num = 0;
}
}
// 比较最后一个数字和最大数字
if (num > max_num) {
max_num = num;
}
printf("最大的正整数是:%d\n", max_num);
return 0;
}
```
该程序的基本思路是,遍历字符串中的每个字符,如果当前字符是数字,则将其累加到一个变量中,如果当前字符不是数字,则将累加的数字与当前最大的数字比较,更新最大数字。最后返回最大数字。