简易代码高亮的小程序

简易代码高亮的小程序

之前在论坛上见有人做了一个代码高亮的程序,于是我也有些心动。

(原以为我需要好几天才能写完,结果发现,只用了一天)
因为只是简单的实现,所以有些地方还不够好。

源码&程序下载:http://www.cppblog.com/Files/zhaoyg/[Colorful%20Code].rar
这是样本代码:
#include <stdio.h>
#include <conio.h>
int main()
{
int a=0,n=0,c=0;
char ch;
printf("请输入字符串\n");

while ((ch=getchar())!='\n')
{
  //printf("请输入字符\n");
  if (ch=='i')
   a=1;
  if (ch!='e'&&ch!='i'&&a==1||ch=='*')
   c++;
  if (ch=='e'&&a==1)  //当a为1时表示在e之前有i
  {
   if (c==1)      //当c等于1时表示i与e之间只有一个其他字符  
   {
    n++;
    a=0;
   }
   c=0;     //如果此处不重新赋值为0,则下次c会在1的基础上继续递增
  }
}
    printf("刚才的字符中有%d次",n);
getch();
return 0;
}

转换后:
[color=red]#include <stdio.h>[/color]
[color=red]#include <conio.h>[/color]
[color=blue]int[/color] main()
{
[color=blue]int[/color] a=[color=800080]0[/color],n=[color=800080]0[/color],c=[color=800080]0[/color];
[color=blue]char[/color] ch;
printf([color=FF00FF]"请输入字符串\n"[/color]);

[color=blue]while[/color] ((ch=getchar())!=[color=800080]'\n'[/color])
{
  [color=008000]//printf("请输入字符\n");
[/color]  [color=blue]if[/color] (ch==[color=800080]'i'[/color])
   a=[color=800080]1[/color];
  [color=blue]if[/color] (ch!=[color=800080]'e'[/color]&&ch!=[color=800080]'i'[/color]&&a==[color=800080]1[/color]||ch==[color=800080]'*'[/color])
   c++;
  [color=blue]if[/color] (ch==[color=800080]'e'[/color]&&a==[color=800080]1[/color])  [color=008000]//当a为1时表示在e之前有i
[/color]  {
   [color=blue]if[/color] (c==[color=800080]1[/color])      [color=008000]//当c等于1时表示i与e之间只有一个其他字符  
[/color]   {
    n++;
    a=[color=800080]0[/color];
   }
   c=[color=800080]0[/color];     [color=008000]//如果此处不重新赋值为0,则下次c会在1的基础上继续递增
[/color]  }
}
    printf([color=FF00FF]"刚才的字符中有%d次"[/color],n);
getch();
[color=blue]return[/color] [color=800080]0[/color];
}

效果如图:

简易代码高亮的小程序_第1张图片

你可能感兴趣的:(简易代码高亮的小程序)