下面程序中定义函数int str2int(char s[]),把s中传递过来的字符串中的数字 字符(0~9)挑出来,按原次序组成一个整数返回, 例如:s中传递的内容为” AB0120CD34.56EF”,返回整数12034, 其中遇到小数点则停止,数字前导零无意义。完成程序的编写。 #include <stdio.h> int str2int(char s[]){ //此处为待补充代码,写到 答题纸 上 } int main(){ char a[80]; printf("输入字符串,其中数字字符个数少于10个:\n"); gets(a);//例如输入"AB0120CD34.56EF" printf("%d\n",str2int(a));//则输出12034 }
时间: 2024-03-24 14:41:01 浏览: 23
以下是完成程序的代码:
```c
#include <stdio.h>
int str2int(char s[]) {
int num = 0;
int flag = 0; // 标记是否遇到小数点
for (int i = 0; s[i] != '\0'; i++) {
if (s[i] >= '0' && s[i] <= '9') {
if (flag) { // 如果已经遇到小数点,直接退出循环
break;
}
num = num * 10 + (s[i] - '0');
} else if (s[i] == '.') {
flag = 1;
}
}
return num;
}
int main() {
char a[80];
printf("输入字符串,其中数字字符个数少于10个:\n");
gets(a); // 请注意:gets函数已经被标记为不安全,建议使用fgets函数代替
printf("%d\n", str2int(a));
return 0;
}
```
该函数的主要思路是遍历字符串中的每个字符,如果是数字字符,则将其转化为整数并加到最终的结果上。如果遇到小数点,则退出循环,返回当前的结果。为了避免数字前导零的影响,我们每次将其乘以10再加上当前的数字字符对应的整数。
相关问题
定义函数int mystrlen(char *str),计算字符串的长度。
函数int mystrlen(char *str)的定义如下:
该函数用于计算字符串的长度,参数为一个指向字符串的指针char *str。
函数体内,使用一个整型变量len来记录字符串的长度,初始化为。
然后使用while循环,判断当前字符是否为'\',如果不是,则将len加1,同时将指针str向后移动一位,继续判断下一个字符。
最后返回len即可。
函数定义如下:
int mystrlen(char *str) {
int len = ;
while (*str != '\') {
len++;
str++;
}
return len;
}
编写一个函数int strlength(char *str)求字符串str的长度
好的,这是一个简单的求字符串长度的函数实现:
```c
int strlength(char *str) {
int len = 0;
while (*str) {
len++;
str++;
}
return len;
}
```
这个函数的原理很简单,就是利用指针遍历字符串,计算字符的个数,直到遇到字符串的结尾符`\0`。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)