源程序:
#include <stdio.h>
int main()
{
int i,j;
for(i=0;i<8;i++)
{
for(j=0;j<8;j++)
if((i+j)%2==0) printf("%c%c",219,219);
else printf(" "); //注意是2个空格
printf("\n");
}
return 0;
}
输出的是乱码。为什么呢?
主要原因是文件信息的代码页不同,我们所使用的操作系统中文状态下的代码页,要显示扩展的ASCII码需要在437 OEM-美国这个下面显示,这样就可以显示出你所希望的。具体修改控制台的默认代码页步骤如下:
方法一:
1.在开始的运行中输入cmd
2.在cmd的标题栏上点击右键,选择默认值一项
3.修改默认代码页,936(ANSI/OEM-简体中文GBK)为437 OEM-美国
接下来就可以运行你的程序了,记得运行完修改过来。
方法二:
#include <stdio.h>
#include <windows.h>
int main()
{
int i,j;
SetConsoleOutputCP(437);//设置代码页 这里已经涉及到控制台编程了,可以先跳过这里
for(i=0;i<8;i++)
{
for(j=0;j<8;j++)
if((i+j)%2==0) printf("%c%c",219,219);
else
printf(" "); //特别是这里要注意 因为上面打出来的是两个半实心,所以这里配//对两个空格
printf("\n");
}
}
题目:打印楼梯,同时在楼梯上方打印两个笑脸。
1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。
2.程序源代码:
#include <stdio.h>
#include <windows.h>
int main()
{
int i,j;
SetConsoleOutputCP(437);
printf("\1\1\n");
for(i=1;i<11;i++)
{
for(j=1;j<=i;j++)
printf("%c%c",219,219);
printf("\n");
}
return 0;
}