Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
5个月前关闭。
我在每个
我希望
第一个程序打印偶数索引,再打印不带换行符的奇数索引。
这是针对n + 1个元素而不是n的数组,您应该使用
在行中
您应该使用
我的密码
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
5个月前关闭。
我在每个
printf
循环中都使用了一个for
。现在我要在单行中打印输出。arr[n],i;
for(i=0;i<=n;i++)
{
scanf("%c",&arr[i]);
}
for( i = 0; i <= n; i++ )
{
if(i % 2 == 1)
printf("%c", arr[i]);
}
for( i = 0; i <= n; i++ )
{
if(i % 2 == 0)
printf("%d", arr[i]);
}
我希望
rudraprakash
的输出为rdarksurpaah
,但实际输出是这样的:rdarks
urpaah
第一个程序打印偶数索引,再打印不带换行符的奇数索引。
最佳答案
您可能在这里做错了很多事情,首先必须根据要创建的数组设置n。
您没有在格式说明符之前使用空格,因此不会忽略空格
for( i = 0; i <= n; i++)
这是针对n + 1个元素而不是n的数组,您应该使用
for( i = 0; i < n; i++)
在行中
printf("%d", arr[i]);
您应该使用
%d
时使用的是%c
。我的密码
int main()
{
int n;
printf("enter number of characters you want to input\n"); //scan for number of inputs
scanf("%d", &n);
char arr[n];
int i;
for(i=0;i<n;i++)
{
scanf(" %c",&arr[i]); //space before %c
}
for( i = 0; i < n; i++ )
{
if(i % 2 == 0)
printf("%c", arr[i]);
}
for( i = 0; i < n; i++ )
{
if(i % 2 == 1)
printf("%c", arr[i]);
}
}