主题:C语言讨论区支持代码着色功能,欢迎试用并提意见
			 yaozheng
				 [专家分:28410]  发布于 2007-05-17 23:15:00
 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
Rick0ne [专家分:1490]  发布于 2007-05-19 11:42:00				
				[code=c]
class T
{
public:
 T(){}
 ~T(){}
};
[/code]
c++支持不? 着色的颜色可以设定不?
							 
						
				板凳
				
					 雨中飞燕 [专家分:18980]  发布于 2007-05-19 12:22:00
雨中飞燕 [专家分: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
yixiaowz [专家分:10]  发布于 2007-05-19 13:33:00				
				字母减零=该字母对应的adcii码,是吗?
							 
						
				4 楼
				
					 goal00001111 [专家分:4030]  发布于 2007-05-19 14:17:00
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
林杰杰 [专家分:8970]  发布于 2007-05-19 20:16:00				
				把字体弄成FixedSys好像比较舒服。
最好就是配成VC6.0下面的那种格式,看着亲切。
							 
						
				6 楼
				
					 孤单在湖边 [专家分:10]  发布于 2007-05-19 20:29:00
孤单在湖边 [专家分: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
雨中飞燕 [专家分:18980]  发布于 2007-05-19 20:41:00				
				[quote]把字体弄成FixedSys好像比较舒服。
最好就是配成VC6.0下面的那种格式,看着亲切。[/quote]
偶喜欢宋体,VC6的字体和颜色偶都改掉了
							 
						
				8 楼
				
					 merry05 [专家分:8920]  发布于 2007-05-19 22:47:00
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
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
sarrow [专家分:35660]  发布于 2007-05-20 10:57:00				
				好像你的字符串判断也有问题!
不过字符串的判断很麻烦,因为你需要考虑字符串前缀“L”(字符也是一样....)
你可以分两种情况来判断:
如下:
\bL".+?" 和 ".+?"
(没有考虑多行的情况。)
							 
									
			
我来回复