Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

µÝ¹é »ØËÝ·¨Çó½â8»ÊºóÎÊÌ⣨C£©

ÎÞÒâÖз­³öÁËNÄêǰдµÄµÝ¹é-»ØËÝ·¨Çó½â8»ÊºóÎÊÌ⣬¸É´âÈûµ½²©¿ÍÖаɡ£
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define QUEENS 8
// ¼Ç¼½âµÄÐòºÅµÄÈ«¾Ö±äÁ¿¡£
int iCount = 0;
// ¼Ç¼»ÊºóÔÚ¸÷ÁÐÉϵķÅÖÃλÖõÄÈ«¾ÖÊý×é¡£
int Site[QUEENS];
// µÝ¹éÇó½âµÄº¯Êý¡£
void Queen(int n);
// Êä³öÒ»¸ö½â¡£
void Output();
// ÅжϵÚn¸ö»Êºó·ÅÉÏÈ¥Ö®ºó£¬ÊÇ·ñÓгåÍ»¡£
int IsValid(int n);
void main()
{
// ´ÓµÚ0ÁпªÊ¼µÝ¹éÊÔ̽¡£
Queen(0);
}
//Queen£ºµÝ¹é·ÅÖõÚn¸ö»Êºó¡£
void Queen(int n)
{
int i;
// ²ÎÊýn´Ó0¿ªÊ¼£¬µÈÓÚ8ʱ±ãÊÔ³öÁËÒ»¸ö½â£¬½«ËüÊä³ö²¢»ØËÝ¡£
if(n == QUEENS)
{
Output();
return;
}
// n»¹Ã»µ½8£¬ÔÚµÚnÁеĸ÷¸öÐÐÉÏÒÀ´ÎÊÔ̽¡£
for(i = 1 ; i <= QUEENS ; i++)
{
// ÔÚ¸ÃÁеĵÚiÐÐÉÏ·ÅÖûʺó¡£
Site[n] = i;
// Èç¹û·ÅÖÃûÓгåÍ»£¬¾Í¿ªÊ¼ÏÂÒ»ÁеÄÊÔ̽¡£
if(IsValid(n))
Queen(n + 1);
}
}
// IsValid£ºÅжϵÚn¸ö»Êºó·ÅÉÏÈ¥Ö®ºó£¬ÊÇ·ñºÏ·¨£¬¼´ÊÇ·ñÎÞ³åÍ»¡£
int IsValid(int n)
{
int i;
// ½«µÚn¸ö»ÊºóµÄλÖÃÒÀ´ÎÓÚÇ°Ãæn£­1¸ö»ÊºóµÄλÖñȽϡ£
for(i = 0 ; i < n ; i++)
{
// Á½¸ö»ÊºóÔÚͬһÐÐÉÏ£¬·µ»Ø0¡£
if(Site[i] == Site[n])
return 0;
// Á½¸ö»ÊºóÔÚͬһ¶Ô½ÇÏßÉÏ£¬·µ»Ø0¡£
if(abs(Site[i] - Site[n]) == (n - i))
return 0;
}
// ûÓгåÍ»£¬·µ»Ø1¡£
return 1;
}
// Output£ºÊä³öÒ»¸ö½â£¬¼´Ò»ÖÖûÓгåÍ»µÄ·ÅÖ÷½°¸¡£
void Output()
{
int i;
// Êä³öÐòºÅ¡£
printf("No.%-5d" , ++iCount);
// ÒÀ´ÎÊä³ö¸÷¸öÁÐÉϵĻʺóµÄλÖ㬼´ËùÔÚµÄÐÐÊý¡£
for(i = 0 ; i < QUEENS ; i++) {
printf("%d " , Site[i]);
}
printf("\n");
}

ÕâÒ»Ëã·¨Çó³ö92ÖÖ²¼¾Ö¡£µ«ËüÃDz¢·Ç±¾Öʽ⣬ËùÒÔÊä³öµÄ²¼¾Öµ±ÖУ¬ÓÐһЩ¾­¹ýÐýת¡¢¾µÏñµÈ±ä»»ºóÊǵȼ۵ġ£
Èç¹ûÒªÇó³ö±¾Öʽ⣨Ӧ¸ÃÖ»ÓÐ12ÖÖ£©£¬¿ÉÒÔ¿¼Âǽ«ÒѾ­Çó³öµÄ²¼¾Ö·ÅÔÚÒ»¸öÁ´±íÖУ¬È»ºóÿ´ÎµÃµ½Ò»ÖÖеIJ¼¾Öʱ£¬¶¼¸úÇ°ÃæµÄÒÀ´Î±È½Ïһϣ¬¿´¿´¾­¹ýÐýת¡¢¾µÏñºóÊÇ·ñÒ»Ö£¬Èç¹ûÒ»ÑùÔòÉáÆú¡£


Ïà¹ØÎĵµ£º

Cº¯Êý¿â½éÉÜ: string.h¡¢mem.h

²Ù×÷º¯Êý,ËùÔÚº¯Êý¿âΪstring.h¡¢mem.h
mem…²Ù×÷´æÖüÊý×é
void *memccpy(void *destin,void *source,unsigned char ch,unsigned n)
void *memchr(void *s,char ch,unsigned n)
void *memcmp(void *s1,void *s2,unsigned n)
int   memicmp(void *s1,void *s2,unsigned n)
void *memmove(void *destin ......

c/c++ string


1.±¾ÕÂ˼άµ¼Í¼£º



Example1:
char
*strcpy(char *target, const char *source) {
  char *t = target;

  // Copy the contents of source into target.
 
while(*source) *target++ = *source++;
  // Null-terminate the
target.
  *ta ......

C/C++ ³ÌÐòÉè¼ÆÔ±Ó¦Æ¸³£¼ûÃæÊÔÊÔÌâÉîÈëÆÊÎö

1.ÒýÑÔ
¡¡¡¡±¾ÎĵÄд×÷Ä¿µÄ²¢²»ÔÚÓÚÌṩC/C++³ÌÐòÔ±ÇóÖ°ÃæÊÔÖ¸µ¼£¬¶øÖ¼ÔÚ´Ó¼¼ÊõÉÏ·ÖÎöÃæÊÔÌâµÄÄÚº­¡£ÎÄÖеĴó¶àÊýÃæÊÔÌâÀ´×Ô¸÷´óÂÛ̳£¬²¿·ÖÊÔÌâ½â´ðÒ²²Î¿¼ÁËÍøÓѵÄÒâ¼û¡£
¡¡¡¡Ðí¶àÃæÊÔÌâ¿´ËÆ¼òµ¥£¬È´ÐèÒªÉîºñµÄ»ù±¾¹¦²ÅÄܸø³öÍêÃÀµÄ½â´ð¡£ÆóÒµÒªÇóÃæÊÔÕßдһ¸ö×î¼òµ¥µÄstrcpyº¯Êý¶¼¿É¿´³öÃæÊÔÕßÔÚ¼¼ÊõÉϾ¿¾¹´ïµ½ÁËÔõÑùµÄ ......

symbian Open C and Open C++ Ïà¹Ø

nokia wiki£ºhttp://developer.symbian.org/wiki/index.php/Open_C_and_Open_C%2B%2B_Technical_Overview/zh-hans
symbianÉÏ¿ª·¢opencʱÐèҪעÒâµÄÎÊÌâ
http://blog.csdn.net/sizhiguo/archive/2009/05/21/4206138.aspx
µÚÒ»£ºÈçprintf¡¢sprint¡¢Îļþ²Ù×÷¡¢socket²Ù×÷µÈ£¬Ä£ÄâÆ÷ÆÁÄ»¶¼»á³öÏְׯÁµÈ´ý£¬²¢ÇÒÊÇÒ»Ö±ÏÂÈ¥¡£ ......

linux C forkº¯Êý

´´½¨Ð½ø³Ì£ºforkº¯Êý
1.1.1. forkº¯Êý¸Éʲô£¿
     #include <sys/types.h>
     #include <unistd.h>
     pid_t fork(void);
      ‘fork()’º¯ÊýÓÃÓÚ´ÓÒÑ´æÔÚ½ø³ÌÖд´½¨Ò»¸öнø³Ì¡£Ð½ø³Ì³ÆÎª×Ó½ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ