满意答案
wkm9304
推荐于 2017.12.15
采纳率:41% 等级:9
已帮助:711人
输入一个以回车结束的字符串(少于10个字符),它由数字字符组成,将该字符串转换成整数后输出。注意,不能直接调用库函数atoi完成。
**输入提示信息:"Enter a string: "
**输出格式要求:“digit = %d\n”
程序运行示例如下:
Enter a string: 123
digit = 123
#include
int main()
{
int i, n;
char a[10];
printf("Enter a string: ");
i = 0;
while ((a[i] = getchar()) != '\n')
{
i++;
}
a[i] = '\0';
n = 0;
for (i = 0; a[i] != '\0'; i++)
{
if (a[i] <= '9' && a[i] >= '0')
{
n = n * 10 + (a[i] - '0');//“a[i]-'0'”将数字字符转为ASCII码运算,差值即为数字本身的大小
}
else //遇见非数字结束转换
break;
}
printf("digit = %d\n", n);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
按照字符串顺序从小到大排序,删除重复字符
00分享举报