例如,将“1912”作为输入,如何解析此输入并填充int a[]
以使其具有a[0]=1
,a[1]=9
等等。
如果通过for
循环完成,则需a[0]=1912
而非a[0]=1
。
for(int i=0;i<n;i++){
cin>>a[i];
}
答案 0 :(得分:1)
使用getchar
逐个字符阅读。你的循环看起来像这样:
for(int i = 0; i < n; i++)
{
a[i] = getchar();
a[i] -= '0';
}
getchar
的返回值将是输入字符的ascii代码。由于您尝试以数字形式读取输入,因此可以通过a[i] -= '0'
进行转换。
当然,上面的循环不会进行任何输入清理,并假设您确切知道您正在阅读的格式。您可以使用feof
和ferror
来获取错误。