输入一个以回车结束的字符串(少于10个字符),它由数字字符组成,将该字符串转换成整数后输出。注意,不能直接调用库函数atoi完成。 **输入提示信息:"Enter a string: " **输出格式要求:"digit = %d\n" 程序运行示例如下: Enter a string: 123 digit = 123
时间: 2024-02-20 17:59:20 浏览: 62
好的,您的问题是如何输入一个由数字字符组成的字符串并将其转换为整数输出,且不能直接调用库函数 atoi 完成。输入提示信息为 "Enter a string: ",输出格式为 "digit = %d\n"。程序运行示例如下:
Enter a string: 123
digit = 123
可以使用循环遍历字符串中的每个字符,将其转换为对应的数字,再根据位数计算出整数值。以下是代码实现:
```c
#include <stdio.h>
int main() {
char str[11]; // 最多输入10个字符
int digit = 0; // 整数值
int i, len = 0; // len为字符串长度
printf("Enter a string: ");
scanf("%s", str);
// 遍历字符串中的每个字符
for (i = 0; str[i] != '\0'; i++) {
if (str[i] >= '0' && str[i] <= '9') {
digit = digit * 10 + (str[i] - '0'); // 将字符转换为数字
len++; // 计算字符串长度
}
}
if (len > 0) {
printf("digit = %d\n", digit);
} else {
printf("Invalid input!\n");
}
return 0;
}
```
注意,这里假设输入的字符串中只包含数字字符,如果有其他字符则会被忽略。
阅读全文