#include
main()
{
int num1[4],num2[7],i;
for(i=1;i<=4;i++)
scanf("%d",&num1[i]);
for(i=1;i<=4;i++)
{
num2[2*i-1]=num1[i];
num2[2*i]=' ';
}
for(i=1;i<=7;i++)
printf("%d",num2[i]);
return 0;
}
我自己写的程序如上,比如输入8888,输出是8空格8空格8空格8这样的。程序编译不出错,但是出入四位数后无输出,烦请看下哪里出了错
还有一种改法就是把scanf的%d修改为%c
num2[2*i-1]=num1[i];
->
num2[2*i-1]=(char)(num1[i] + '0');
把scanf的%d修改为%c,请采纳caozhy建议
#include
main()
{
int num1[4],num2[7],i;
for(i=1;i<=4;i++)
scanf("%d",&num1[i]);
for(i=1;i<=4;i++)
{
num2[2*i-1]=num1[i];
num2[2*i]=' ';
}
for(i=1;i<=7;i++)
printf("%d",num2[i]);
return 0;
}
我自己写的程序如上,比如输入8888,输出是8空格8空格8空格8这样的。程序编译不出错,但是出入四位数后无输出,烦请看下哪里出了错
当然不仅仅是修改输出格式的问题,因为这不是重点,你需要学会的是编程风格的形成,而不是一个小问题的解决。
粗看了一下你的代码,明显的错误就是数组越界问题,这样子好的时候会产生意外的结果,坏的时候会程序崩溃,所以养成一个好的编程习惯很重要。