之前在論壇上見有人做了一個(gè)代碼高亮的程序,于是我也有些心動(dòng)。
(原以為我需要好幾天才能寫完,結(jié)果發(fā)現(xiàn),只用了一天)
因?yàn)橹皇呛?jiǎn)單的實(shí)現(xiàn),所以有些地方還不夠好。
源碼&程序下載:http://www.shnenglu.com/Files/zhaoyg/[Colorful%20Code].rar
這是樣本代碼:
#include <stdio.h>
#include <conio.h>
int main()
{
int a=0,n=0,c=0;
char ch;
printf("請(qǐng)輸入字符串\n");
while ((ch=getchar())!='\n')
{
//printf("請(qǐng)輸入字符\n");
if (ch=='i')
a=1;
if (ch!='e'&&ch!='i'&&a==1||ch=='*')
c++;
if (ch=='e'&&a==1) //當(dāng)a為1時(shí)表示在e之前有i
{
if (c==1) //當(dāng)c等于1時(shí)表示i與e之間只有一個(gè)其他字符
{
n++;
a=0;
}
c=0; //如果此處不重新賦值為0,則下次c會(huì)在1的基礎(chǔ)上繼續(xù)遞增
}
}
printf("剛才的字符中有%d次",n);
getch();
return 0;
}
轉(zhuǎn)換后:
[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]"請(qǐng)輸入字符串\n"[/color]);
[color=blue]while[/color] ((ch=getchar())!=[color=800080]'\n'[/color])
{
[color=008000]//printf("請(qǐng)輸入字符\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]//當(dāng)a為1時(shí)表示在e之前有i
[/color] {
[color=blue]if[/color] (c==[color=800080]1[/color]) [color=008000]//當(dāng)c等于1時(shí)表示i與e之間只有一個(gè)其他字符
[/color] {
n++;
a=[color=800080]0[/color];
}
c=[color=800080]0[/color]; [color=008000]//如果此處不重新賦值為0,則下次c會(huì)在1的基礎(chǔ)上繼續(xù)遞增
[/color] }
}
printf([color=FF00FF]"剛才的字符中有%d次"[/color],n);
getch();
[color=blue]return[/color] [color=800080]0[/color];
}
效果如圖:
posted on 2008-07-06 11:28
zhaoyg 閱讀(780)
評(píng)論(2) 編輯 收藏 引用 所屬分類:
小代碼