当前位置: 代码迷 >> C语言 >> 输出ASCII码表,请大家看看错在哪
  详细解决方案

输出ASCII码表,请大家看看错在哪

热度:174   发布时间:2006-07-16 11:16:05.0
输出ASCII码表,请大家看看错在哪
输出ASCII码表,格式:一行8个,(ASCII 码 字符)
#include<stdio.h>
main()
{
int i;
for(i=0;i<=255;i++)
printf("\t%d %c\t",i,i);
if(i%7==0)
printf("\n");
getch();
}
运行时一行只输出5个.请大家帮忙看看怎么回事.
搜索更多相关的解决方案: ASCII  输出  printf  main  getch  

----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-16 03:19:42
穆扬

等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
  得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-16 03:21:19
hellboy

等 级:新手上路
威 望:1
帖 子:245
专家分:0
注 册:2006-6-24
  得分:0 
你的括号不匹配 所以就这样了 给for加上大括号就可以了
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-16 03:38:25
hellboy

等 级:新手上路
威 望:1
帖 子:245
专家分:0
注 册:2006-6-24
  得分:0 
我没实验 我没有c编译器 用java做的可以啊

[此贴子已经被作者于2006-7-16 11:49:25编辑过]



----------------解决方案--------------------------------------------------------
以下是引用azure旋律在2006-7-16 11:16:05的发言:
输出ASCII码表,格式:一行8个,(ASCII 码 字符)
#include<stdio.h>
main()
{
int i;
for(i=0;i<=255;i++)
printf("\t%d %c\t",i,i);
if(i%7==0)
printf("\n");
getch();
}
运行时一行只输出5个.请大家帮忙看看怎么回事.

这样是绝对不可能输出8个1行的。在FOR循环中。直接把256个全部输出。它的循环体只有PRINTF这个函数!

[此贴子已经被作者于2006-7-16 12:03:35编辑过]


----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-16 04:00:00
hellboy

等 级:新手上路
威 望:1
帖 子:245
专家分:0
注 册:2006-6-24
  得分:0 
public static void main(String[] arg)
{
for(int i=0,j=0;i<255;i++)
{
char s=(char)i;
System.out.print(i);
System.out.print(" ");
System.out.print(s);
j++;
if(j%7==0)
{
System.out.println();
}

}
}java 是这么写的 不好意思 把java贴上来了 不过基本上差不多了 我先吃饭了 回来在说

[此贴子已经被作者于2006-7-16 12:03:55编辑过]


----------------解决方案--------------------------------------------------------

顺便提一下。ASCII码是0~127也就是128个。没有255个好否?

就算加上{}也没有办法达到LZ的要求。

请看:
0%7是0。所以直接就换行了。很明显是算法上不够紧密。

还有就是ASCII码里面存在着“回车”,直接换行。这也要考虑进去。

不过我记得我以前在书上有见过输出ASCII码的程序。肯定是能完成的。再好好想想呗~


----------------解决方案--------------------------------------------------------
  相关解决方案