网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

请编写能直接实现int atoi(const char * pstr)函数功能的代码。


参考答案

更多 “ 请编写能直接实现int atoi(const char * pstr)函数功能的代码。 ” 相关考题
考题 mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。请填空。int mystrlen(char *str){ int i;for(i=0;【17】!= ′\0′;i++);return(i);}

考题 下列给定程序中,函数fun()的功能是:用冒泡法对6个字符串按由小到大的顺序进行排序。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.试题程序:include <conio.h>include <stdio.h>define MAXLINE 20/*************found**************/fun(char *pstr[6]){int i, j;char *p;for(i=0;i<5;i++){for(j=i+l;j<6;j++)/*************found**************/{ if(strcmp(*(pstr+i),pstr+j)>0){p=*(pstr+i);/*************found**************/* (pstr+i) -pstr+j;* (pstr+j)=p;}}}}main ( ){ int i;char *pstr[6],str[6][MAXLINE];clrscr();for(i=0;i<6;i++) pstr[i]=str[i];printf("\nEnter 6 string(1 string at eachline):\n ");for(i=0;i<6;i++) scanf("%s",pstr[i]);fun(pstr);printf("The strings after sorting:\n ");for(i=0;i<6;i++) printf("%s\n ",pstr[i]);}

考题 mystrlen函数的功能是计算str所指字符中的长度,并作为函数值返回,请填空。int mystrlen(char * str){ int i;for(i=0;【 】!='\0';i++);return(i);}

考题 请编写一个函数int CalcDigital(char *str),该函数可返回字符串str中数字字符(即0~9这10个数字)的个数,如字符串“olympic2008”中数字字符的个数为4。请用if条件判断语句与for循环语句来实现该函数。注意:部分源程序已存在文件test9_2.cpp中。请勿修改主函数main和其他函数中的任何内容,仅在函数find的花括号中填写若干语句。文件test9_2.cpp的内容如下:include<iostream.h>include<string.h>int CalcDigital(char*str);void main(){char *str;str=new char[255];cout<<"输入字符串:";cin>>str;int num=CalcDigital(str);cout<<str<<":"<<num<<endl;}int CalcDigital(char *str){}

考题 已知函数 void- sort(int Array[-1 int N的功能:采用选择排序法将具有N元素的整型数组Aray按由大到小排序元素,排序好的元素仍然放在数组Aray里面。例如:如果原来数组为”1432567,则排序后为”7654321″。編写该函数的实现代码,并要求编写main()函数,对实现函数的进行测试 请帮忙给出正确答案和分析,谢谢

考题 试题二(共 15 分)阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。[说明]下面的程序按照以下规则输出给定名词的复数形式:a. 若名词以“y”结尾,则删除 y 并添加“ies” ;b. 若名词以“s” 、 “ch”或“sh”结尾,则添加“es” ;c. 其他所有情况,直接添加“s” 。[C 程序]#include stdio.h#include string.hchar *plural(char *word){int n;char *pstr;n = strlen(word); /*求给定单词的长度*/pstr = (char *)malloc(n+3); /*申请给定单词的复数形式存储空间*/if (!pstr || n 2)return NULL;strcpy(pstr,word); /*复制给定单词*/if ( (1) ){pstr[n-1] = 'i'; pstr[n] = 'e'; pstr[n+1] = 's'; (2) ;}elseif(pstr[n-1]=='s'||pstr[n-1]== 'h' ( (3) )){pstr[n] = 'e'; pstr[n+1] = 's'; pstr[n+2] = '\0';}else{ pstr[n] = 's'; pstr[n+1] = '\0'; }(4) ;}main( ){ int i; char *ps;char wc[9][10] ={"chair","dairy","boss","circus","fly","dog","church","clue","dish"}for(i = 0; i 9; i++) {ps = (5) ;printf("%s: %s\n",wc[i],ps); /*输出单词及其复数形式*/free(ps); /*释放空间*/}system("pause");}

考题 编写算法,实现下面函数的功能。函数void insert(char*s,char*t,int pos)将字符串t插入到字符串s中,插入位置为pos。假设分配给字符串s的空间足够让字符串t插入。(说明:不得使用任何库函数)

考题 请编写一个函数int stringLen(char*ps),该函数能计算出字符串ps的长度,函数返回值就是字符串的长度(不包括字符串结束标识号'\0')。本题要求:用指针方式及循环来实现该函数。注意;部分源程序已存在考生文件夹下的文件PROC6,cpp中。请勿修改主函数和其他函数中的任何内容,仅在函数stringLen()的花括号中填写若干语句。文件PROC6.cpp的内容如下://PROC6.cppinclude<iostream>using namespace std;int stringLen(char *);int main(){char str[100],*p;cout<<"Input your string please!\n";cin>>str;p=str;cout<<"The lenth of your string is "<<stringLen(p)<<end1;return 0;}int stringLen(char *ps){// * * * * *}

考题 阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。[函数2.1说明]函数strcpy的功能是将字符串str2的内容复制到字符申str1。[函数2.1](1) strcpy (char *slr1, const char *str2){ char * temp;while( * str2!='\0') *cp++ =(2);(3)='\0';return str1;}[函数2.2说明]函数int strcmp(const char *str1, const char *str2)的功能是按字典序比较两个字符串str1和str2的大小。当str1<str2时返回-1,当str1>str2时返回1,否则返回0。[函数2.2]int strcmp(const char *str1, const char *str2){ while( *str1= =* str2) {if(* s1= =(4)) return 0;s1++;(5);}if( *str1<*str2) return -1;return 1;}

考题 请编写函数fun(),它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符1,则输出3。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include<coio.h>include<stdio.h>define M 81int fun(char *ss,char c){}main(){ char a[M],ch;clrscr();printf("\nPlease enter a string:");gets(a);printf("\nPlease enter a char:");ch=getchar();printf("\nThe number of the char is:%d \n",fun(a,ch));}

考题 请编写一个函数 int find(char s[],char t[]), 该函数在字符串s中查找字符串t,如果找到,则返回字符串t在字符串s中的位置(整数值):否则返回-1。本题要求:用数组方式及两重循环来实现该函数。注意:部分源程序已存在考生文件夹的文件PROC1.cpp中。请勿修改主函数和其他函数中的任何内容,仅在函数find()的花括号中填写若干语句。文件PROC1.cpp的内容如下://PROC1.cppinclude<iostream>using namespace std;int find(char s[],char t[]);const int MAXLINE = 256;int main(){char source[MAXLINE],target[MAXLINE];cout<<"Please input a string for searching:\n";cin.getline(source,MAXLINE);cout<<"Please input a string you want to find:\n";cin.getline(target,MAXLINE);int intPos=find(source,target);if(intPos>=0)cout<<"Finding it,The target string is at index"<<intPos<<"of the source string\n";elsecout<<"Not finding it \n";return 0;}int find(char s[],char t[]){//********}

考题 请编写一个函数char *fun(char *s,int n)。函数fun()的功能是将字符串s中的字符“循环左移”n位。例如,输入“ABCDE”,则循环左移2位应输出“CDEAB”,输入“1234567”,循环左移3位应输出“4567123”。注意:部分源程序已存在文件PROC13.cpp中。请勿修改主函数和其他函数中的任何内容,仅在函数fun()的花括号中填写若干语句。文件PROC13.cpp的内容如下://PROC13.cppinclude <iostream>include <string>using namespace std;char *fun(char *s,int n);int main(){char str[81];int n;cout<<"Enter a string(less than 80 char)\n”;cin>>str;cout<<"\n Enter n:";cin>>n;if(n>strlen(str)){cout<<"\n Data overflow";return 0;}cout<<"The result is: "<<fun(str,n)<<end1;return 0;}char *fun(char*s,int n){//* * * * * *}

考题 阅读下列程序说明和C++程序,把应填入其中(n)处的字句,写对应栏内。【说明】下面的程序实现了类String的构造函数、析构函数和赋值函数。已知类String的原型为:class String{public:String(coust char * str = NULL); //普通构造函数String( const String other); //拷贝构造函数~String(void); //析构函数String perate =(const String other); //赋值函数private:char * m_data; // 用于保存字符串};//String 的析构函数String:: ~String (void){(1);}//String 的普通构造函数String: :String( const char * str){if (2){m_data = new char[1];*m_data = '\0';}else{int length = strlen(str);m_data = new ehar[ length + 1 ];strepy(m_data, str);}}//拷贝的构造函数String:: String( const String other){ int length = strlen(other. m_data);m_data = new char[ length + 1 ];strepy(m_data, other, m_data); //赋值函数String String::operate = (eonst String other) //{if (3)return * this;delete [] m_clara; //释放原有的内存资源int length = strlen( other, m_data);m_data = new chart length + 1 ];(4);return (5);}

考题 有如下类定义:class Bag {public:Bag(int p,char s='M'):price(p),size(s) { count++; }~Bag() { count--; }int GetPrice() { return price; }int GetPrice() const { return price; }void SetPrice(int val) const { price=val; }private:int price;char size;static int count;};下列关于类成员的叙述中,正确的是( )。A. 成员函数GetPrice存在重定义B.构造函数的参数不能设置默认值C.析构函数中不能访问静态数据成员D.成员函数SetPrice不能定义为常函数

考题 如何为函数int atoi(const char * pstr)编写测试向量?

考题 请编写能直接实现char * strcpy(char * pstrDest,const char * pstrSource)函数功能的代码。

考题 请编写实现void * malloc(int)内存分配函数功能一样的代码。

考题 不使用库函数,编写函数int strcmp(char *source, char *dest) 相等返回0,不等返回-1;

考题 输入二个 64 位的十进制数,计算相乘之后的乘积已知 strcpy 函数的原型是:char * strcpy(char * strDest,const char * strSrc);1.不调用库函数,实现strcpy 函数。2.解释为什么要返回char *。

考题 已知strcpy 的函数原型:char *strcpy(char*strDest, const char *strSrc)其中strDest 是目的字符串,strSrc 是源字符串。不调用C++/C 的字符串库函数,请编写函数strcpy。

考题 已知String类定义如下:class String{public:String(const char *str = NULL); // 通用构造函数String(const String another); // 拷贝构造函数~ String(); // 析构函数String perater =(const String rhs); // 赋值函数private:char *m_data; // 用于保存字符串};尝试写出类的成员函数实现。

考题 已知类 String 的原型为class string{public:string(const char *str=null);//普通构造函数string(const string other);//拷贝构造函数---string(void);string operate=(const string other);//赋值函数private:char * m-data;//用于保存字符串};请编写 string 的上述4 个函数

考题 编写 strcpy函数已知 strcpy函数的原型是char *strcpy(char *strDest, const char *strSrc);其中 strDest 是目的字符串,strSrc 是源字符串。(1)不调用 C++/C 的字符串库函数,请编写函数 strcpy(2)strcpy能把 strSrc 的内容复制到 strDest,为什么还要 char * 类型的返回值?

考题 编写类 String 的构造函数、析构函数和赋值函数已知类 String的原型为:class String{public:String(const char *str = NULL); // 普通构造函数String(const String other); // 拷贝构造函数~ String(void); // 析构函数String perate =(const String other); // 赋值函数private:char *m_data; // 用于保存字符串};请编写 String的上述 4 个函数。

考题 下列给定程序中,函数fun()的功能是:用冒泡法对6个字符串按由大到小的顺序进行排序。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include <conio.h>include <stdio.h>define MAXLINE 20void fun(char *pstr[6]){int i,j;char *p;for(i=0;i<5;i++)for(j=i+1;j<6;j++)/*************found*************/if(strcmp((pstr+i),(pstr+j))<0){p=*(pstr+i);*(pstr+i)=*(pstr+j);/*************found*************/*(pstr+j)=*p;}}main(){int i;char*pstr[6],str[6][MAXLINE];clrscr();for(i=0;i<6;i++)pstr[i]=str[i];printf("/nEnter 6 string(1 string at each line):\n");for(i=0;i<6;i++)scanf("%s",pstr[i]);fun(pstr);printf("The strings after sorting:\n");for(i=0;i<6;i++)printf("%s\n",pstr[i]);}

考题 试题三(共15分)阅读以下说明和C函数,填补C函数中的空缺(1)~(6),将解答写在答题纸的对应栏内。【说明】函数numberOfwords (char message[])的功能是计算存储在message字符数组中的一段英文语句中的单词数目,输出每个单词(单词长度超过20时仅输出其前20个字母),并计算每个英文字母出现的次数(即频数),字母计数时不区分大小写。假设英文语句中的单词合乎规范(此处不考虑单词的正确性),单词不缩写或省略,即不会出现类似don't形式的词,单词之后都为空格或标点符号。函数中判定单词的规则是:(1)一个英文字母串是单词;(2) 一个数字串是单词;(3)表示名词所有格的撇号(')与对应的单词看作是一个单词。除上述规则外,其他情况概不考虑。例如,句子“The 1990's witnessed many changes in people's concepts ofconservation”中有10个单词,输出如下:The1990'switnessedmanychangesinpeople'sconceptsofconservation函数numberOfijvords中用到的部分标淮库函数如下所述。【C函数】int numberOfwords (char message[]){char wordbuffer[21],i=0; /*i用作wordbuffer的下标*/(1) pstr;int ps[26]={0); /*ps[0]用于表示字母'A'或'a'的频数*//*ps[1]用于表示字母'B'或'b'的频数,依此类推*/int wordcounter=0;pstr=message;while (*pstr){if((2)(*pstr)){/*调用函数判断是否为一个单词的开头字符*/i=0;do{/*将一个单词的字符逐个存入wordbuffer[],并对字母计数*/wordbuffer[i++]=*pstr;if(isalpha(*pstr)){if (3) (*pstr))ps[*pstr-'a']++;else ps[*pstr-'A']++;}(4) ; /*pstr指向下一字符*/}while (i20(isalnum(*pstr)||*pstr=='\"));if (i=20) /*处理超长单词(含名词所有格形式)*/while (isalnum(*pstr)||*pstr=='\"){pstr++;}(5) ='\0';/*设置暂存在wordbuffepstrr中的单词结尾*/wordcounter++; /*单词计数*/puts(wordbuffer); /*输出单词*/}(6); /*pstr指向下一字符*/}retum wordcounter;}

考题 阅读以下说明和C程序,将应填入 (n) 处的字句写在对应栏内。 2、【说明】下面的程序按照以下规则输出给定名词的复数形式。 a.若名词以“y”结尾,则删除y并添加“ies”; b.若名词以“s”、“ch”或“sh”结尾,则添加“es”; c.其他所有情况,直接添加“s”。【C程序】 #include <stdio.h> #include <string.h> char*plural(char *word) { int n; char *pstr; n=strlen(word); /*求给定单词的长度*/ pstr=(char*)malloc(n+3);/*申请给定单词的复数形式存储空间*/ if (!pstr||n<2) return NULL; strcpy(pstr,word); /*复制给定单词*/ if ( (1) ) { pstr[n-1]='i';pstr[n] ='e';pstr[n+1]='s'; (2) ; } else if(pstr[n-1]=='s'| |pstr[n-1]=='h'&&( (3) )) { pstr[n]='e';pstr[n+1]='s';pstr[n+2]='\0'; } else { pstr[n]='s';pstr[n+1]='\0';) (4) ; } main() { int i; char *ps; char wc[9][10]= {"chair","dairy","boss","circus","fly","dog","church","clue","dish"); for(i = 0;i<9; i++) { ps= (5) ; printf("%s: %s\n",wc[i],ps); /*输出单词及其复数形式*/ free(ps); /*释放空间*/ } system("pause"); }