【发布时间】:2018-09-24 18:09:15
【问题描述】:
打印字符串中的数字。
假设我有这样的输入
Input: {1,32,33,41,59}
输出应该是这样的
Output: 1 32 33 41 59
我的代码是
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
char input[200],words[10][10];
int length=0,i=0,j=0,k=0,t;
fgets(input,200,stdin);
//counting the length of str
while(input[length] != '\0')
{
length++;
}
for(i=1;i<=length;i++)
{
if(input[i] == ',' || input[i] == '}')
{
words[j][k] = '\0';
j++;
k=0;
}
else
{
words[j][k] = input[i];
k++;
}
}
int temp[j];
for(i=0;i<j-1;i++)
{
temp[i] = atoi(words[i]);
printf("%d\n",temp[i]);
}
return 0;
}
我的代码只打印字符串中的第一个数字。我不知道为什么。
【问题讨论】:
-
索引从 0 开始。
-
我从1开始消除'{'
-
i<j-1在打印时应该是i<j。 -
"我的代码只打印字符串中的第一个数字。" Yout 语句不正确。它只是不打印输入的 last 编号。
标签: c string loops for-loop integer