cc++经典程序.docVIP

  • 1
  • 0
  • 约9.53千字
  • 约 9页
  • 2018-02-06 发布于河南
  • 举报
cc经典程序

1: void strcpy( char *strDest, char *strSrc ) { while( (*strDest++ = * strSrc++) != ‘\0’ ); } 比较 char * strcpy( char *strDest, const char *strSrc ) { assert( (strDest != NULL) (strSrc != NULL) ); char *address = strDest; while( (*strDest++ = * strSrc++) != ‘\0’ ); return address; } 2: int strlen( const char *str ) //输入参数 const { assert( strt != NULL ); //断言字符串地址非 0 int len; while( (*str++) != \0 ) { len++; } return len; } 3:swap( int* p1,int* p2 ) { int *p; /////////////////////// *p = *p1; *p1 = *p2; *p2 = *p; } 试题 5:编写一个函数,作用是把一个 char 组成的字符串循环右移 n 个。比如原来 是“abcdefghi”如果 n=2,移位后应该是“hiabcdefgh” 函数头是这样的: //pStr 是指向以\0结尾的字符串的指针 //steps是要求移动的 n void LoopMove ( char * pStr, int steps ) { //请填充... } 解答: 正确解答 1: void LoopMove ( char *pStr, int steps ) { int n = strlen( pStr ) - steps; char tmp[MAX_LEN]; strcpy ( tmp, pStr + n ); strcpy ( tmp + steps, pStr); *( tmp + strlen ( pStr ) ) = \0; strcpy( pStr, tmp ); } 正确解答 2: void LoopMove ( char *pStr, int steps ) { int n = strlen( pStr ) - steps; char tmp[MAX_LEN]; memcpy( tmp, pStr + n, steps ); memcpy(pStr + steps, pStr, n ); memcpy(pStr, tmp, steps ); } 6. 语言 文件读写c #include stdio.h main() { FILE *fp; char ch,filename[10]; scanf(%s,filename); if((fp=fopen(filename,w)==NULL) { printf(cannt open file\n); exit(0); } ch=getchar(); while(ch!=#) { fputc(ch,fp); putchar(ch); ch=getchar(); } fclose(fp); } 7. 编程winsocket #include Winsock2.h #include stdio.h void main() { WORDw VersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD(1,1); err = WSAStartup(wVersionRequested,wsaData); if( err != 0) { return; } if(LOBYTE( wsaData.wVersion ) != 1|| HIBYTE( wsaData.wVersion) != 1) { WSACleanup();

文档评论(0)

1亿VIP精品文档

相关文档