主题:C语言讨论区支持代码着色功能,欢迎试用并提意见
yaozheng
[专家分:28410] 发布于 2007-05-17 23:15:00
支持C/C++语法及大部分函数的着色,使用方法:
在需要贴代码的地方,在代码前后加上如下标签:
[b][[/b][b]code=c[/b][b]][/b]
您的代码
[b][[/b][b]/code[/b][b]][/b]
着色演示:
[code=c]
#include "stdio.h"
main()
{
int a[ 100] , n , i , j , t ;
scanf("%d", &n) ;
for( i=1 ; i<=n ; i++)
scanf("%d", &a[i]) ;
for( j=1; j<=n-1; j++)
for( i=1 ; i<=n-j ; i++)
if (a[i]>a[i+1])
{
t=a[i]; a[i]=a[i+1]; a[i+1]=t;
}
for( i=1 ; i<=n ; i++)
printf("%d ", a[i] );
}
[/code]
欢迎大家多提意见!谢谢大家!
回复列表 (共29个回复)
沙发
Rick0ne [专家分:1490] 发布于 2007-05-19 11:42:00
[code=c]
class T
{
public:
T(){}
~T(){}
};
[/code]
c++支持不? 着色的颜色可以设定不?
板凳
雨中飞燕 [专家分:18980] 发布于 2007-05-19 12:22:00
强啊。。。。。
[code=c]
#include <stdio.h>
int main()
{
for(;;)
{
char num[101];//="0000000000";
int nc, ni=0, t;
while((nc = getchar()) != '+')
{
num[ni++] = nc - '0';
}
while(ni<=100)num[ni++]=0;
ni = 0, t = 0;
for(;(nc = getchar()) != '=';ni++)
{
num[ni] += nc - '0' + t;
if(num[ni]>9)t = 1, num[ni] -= 10; else t = 0;
}
for(;ni<=100;ni++)
{
num[ni] += t;
if(num[ni]>9)t = 1, num[ni] -= 10; else t = 0;
}
ni = 0, t = 0;
while(nc = getchar(), '0'<=nc && nc<='9')
{
if(num[ni++]+'0' != nc) t = 1;
}
if(t)printf("Wrong\n");else printf("Right\n");
if(nc == EOF)break;
}
return 0;
}
[/code]
3 楼
yixiaowz [专家分:10] 发布于 2007-05-19 13:33:00
字母减零=该字母对应的adcii码,是吗?
4 楼
goal00001111 [专家分:4030] 发布于 2007-05-19 14:17:00
[code=c]
#include <iostream>
using namespace std;
class Date{
int da, mo, yr;
public:
Date(int d =2, int m = 1, int y = 1)
{
da = d;
mo = m;
yr = y;
}
operator long();
operator double();
};
Date::operator long()
{
long days = da * mo * yr;
return days;
}
Date::operator double()
{
double days = da * mo * yr * 0.1;
return days;
}
int main()
{
Date x(8, 2, 3);
Date y;
long a = x;
double b = y;
cout << "a=" << a << "\n";
cout << "b=" << b << "\n";
getchar();
return 0;
}
[/code]
5 楼
林杰杰 [专家分:8970] 发布于 2007-05-19 20:16:00
把字体弄成FixedSys好像比较舒服。
最好就是配成VC6.0下面的那种格式,看着亲切。
6 楼
孤单在湖边 [专家分:10] 发布于 2007-05-19 20:29:00
[code=c]
main()
{
int i,j,p,q,s,a[10];
printf("\n input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++){
p=i;q=a[i];
for(j=i+1;j<10;j++)
if(q<a[j]) { p=j;q=a[j]; }
if(i!=p)
{s=a[i];
a[i]=a[p];
a[p]=s; }
printf("%d",a[i]);
}
}
[/code]
呵呵,好玩。。。
7 楼
雨中飞燕 [专家分:18980] 发布于 2007-05-19 20:41:00
[quote]把字体弄成FixedSys好像比较舒服。
最好就是配成VC6.0下面的那种格式,看着亲切。[/quote]
偶喜欢宋体,VC6的字体和颜色偶都改掉了
8 楼
merry05 [专家分:8920] 发布于 2007-05-19 22:47:00
[code=c]
#include <stdio.h>
int main(void)
{
printf("别的区啥时也能这样呢?\n");
return 0;
}
[/code]
9 楼
sarrow [专家分:35660] 发布于 2007-05-20 10:53:00
一个纠错:
行注释正则表达式应该如下(js版):
/\/\/[\s\S]*?[^\\]??(?=\n)/mg
一个建议:
预处理建议使用:
/^[\s]*#(?:[^\\\n]|\\[^\n\w]*[\n\w])*/mg
10 楼
sarrow [专家分:35660] 发布于 2007-05-20 10:57:00
好像你的字符串判断也有问题!
不过字符串的判断很麻烦,因为你需要考虑字符串前缀“L”(字符也是一样....)
你可以分两种情况来判断:
如下:
\bL".+?" 和 ".+?"
(没有考虑多行的情况。)
我来回复