之前在论坛上见有人做了一个代码高亮的程序,于是我也有些心动。
(原以为我需要好几天才能写完,结果发现,只用了一天)
因为只是简单的实现,所以有些地方还不够好。
源码&程序下载: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];
}
效果如图:
posted on 2008-07-06 11:28
zhaoyg 阅读(764)
评论(2) 编辑 收藏 引用 所属分类:
小代码