用C语言使用函数gets输入一个长度小于100的字符串,将其中所有的数字组成一个整数后输出(
时间: 2023-05-19 20:02:35 浏览: 265
以下是C语言代码实现:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char str[100];
int num = 0;
printf("请输入一个长度小于100的字符串:\n");
gets(str);
for(int i = 0; i < strlen(str); i++) {
if(str[i] >= '0' && str[i] <= '9') {
num = num * 10 + (str[i] - '0');
}
}
printf("字符串中的数字组成的整数为:%d\n", num);
return 0;
}
相关问题
用c语言写一串代码 输入一个字符串 输出其中的空格个数
好的,以下是用 C 语言编写的代码,可以实现输入一个字符串,输出其中的空格个数:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int space_count = 0;
printf("请输入一个字符串:\n");
gets(str);
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (str[i] == ' ') {
space_count++;
}
}
printf("该字符串中空格的个数为:%d\n", space_count);
return 0;
}
```
代码的实现思路是:
1. 定义一个字符数组 `str`,长度为100,用于存储输入的字符串;
2. 定义一个整数变量 `space_count`,用于计数空格的个数,初始值为0;
3. 使用 `gets()` 函数获取用户输入的字符串;
4. 使用 `strlen()` 函数获取字符串的长度,然后使用 `for` 循环遍历字符串的每一个字符;
5. 如果当前字符是空格,那么就将 `space_count` 加1;
6. 循环结束后,输出 `space_count` 的值,即为该字符串中空格的个数。
需要注意的是,`gets()` 函数存在安全问题,不建议在实际项目中使用。如果需要读取用户输入的字符串,可以使用更加安全的函数 `fgets()`。
输入一行字符串统计其中有多少个整数c语言
输入一行字符串,统计其中有多少个整数可以通过以下步骤实现:
1. 定义一个字符数组str和一个整型数组a,以及一个指向字符数组str的指针p,一个整型变量i,一个整型变量k(用于记录整型数组a中存放的数字的个数),一个整型变量key(用于判断是否遇到数字),一个整型变量sum(用于记录整型数组a中存放的数字的个数)。
2. 通过gets函数输入字符串。
3. 通过循环遍历字符串中的每一个字符,如果该字符是数字,则将其加入到整型数组a中,如果该字符不是数字,则将key置为0,表示已经遇到了非数字字符,同时将k加1,表示整型数组a中存放的数字个数加1。
4. 最后输出整型数组a中存放的数字,并输出数字的个数sum。
以下是代码示例:
```c
#include <stdio.h>
int main() {
char str[50], *p = str;
int i, k = 0, key = 0, sum, a[100] = {0};
gets(str);
for (i = 0; *(p + i) != '\0'; i++) {
if ((*(p + i) >= '0') && (*(p + i) <= '9')) {
sum = k + 1;
a[k] = a[k] * 10 + *(p + i) - '0';
key = 1;
} else if (key) {
a[++k] = 0;
key = 0;
}
}
for (i = 0; i < sum; i++) {
printf("%d\n", a[i]);
}
printf("sum=%d\n", sum);
return 0;
}
```