更多"简单应用题
请编写一个函数intCalcDigital(char*"的相关试题:
[多项选择]简单应用题
常用字符串函数strcat(s1,s2)可将字符串s2添加到字符串s1的末端,但其使用必须保证字符串s1足够大,以便保存它自己的内容和字符串s2中的内容。请编写一个函数char *append(char *s1,char *s2),其可将字符串s2添加到字符串s1的末端,而且不受s1空间大小的限制。请利用常用字符串函数实现。
常用字符串函数说明:
strcpy(to,form):将form字符串复制到to字符串;
strcat(s1,s2):将字符串s2添加到字符串s1的末端,但必须保证字符串s1足够大;
strlen(s):返回字符串s的长度;
注意:部分源程序已存在文件test4_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数append的花括号中填写若干语句。
输出结果如下:
this is a string.
文件test4_2.cpp的内容如下:
#include
#include
char *append(char *s1,char *s2)
{
}
void main( )
{
char *s,*s1,*s2;
s1="this is ";
s2="a string.";
s=append(s1,s2);
cout<
[填空题]下列程序能将字符串s1中的所有与字符串str1相同的子串替换成字符串sb2,并将替换后的新串存于字符数组s2中。
#include<stdio. h>
void replace(s1,s2,str1,str2)
char *s1,*s2,*str1,*str2;
char *t0,*t1,*t2,*x,*y;
x=s1;y=s2;
while( 【8】 )
for(t0=s1,t1=str1; ((*t1!=’/O’&& 【9】 ;t0++,t1++);
if(*t1!=’/0’) *s2++= 【10】 ;
else
for(t1=str2;*t1!=’/0’;) *s2++= 【11】 ;
【12】 ;
*s2=’/0’;
main ( )
static char s1[]="abcdef ababcd abab.",s2125];
replace (s1, s2, "abc", "XYZ");
printf("%s/n",s2);
[简答题]常用字符串函数strcat(s1,s2)可将字符串s2添加到字符串s1的末端,但其使用必须保证字符串s1足够大,以便保存它自己的内容和字符串s2中的内容。请编写一个函数char*append(char*s1,char*s2),其可将字符串s2添加到字符串s1的末端,而且不受s1空间大小的限制。请利用常用字符串函数实现。
常用字符串函数说明:
strcpy(to,form):将form字符串复制到to字符串;
strcat(s1,s2):将字符串s2添加到字符串s1的末端,但必须保证字符串s1足够大;
strlen(s):返回字符串s的长度;
注意:部分源程序已存在文件test4_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数append的花括号中填写若干语句。
输出结果如下:
this is a string.
文件test4_2.cpp的内容如下:
#include<iostream.h>
#include<string.h>
char *append(char *s1,char *s2)
void main( )
char *s,*s1,*s2;
s1="this is ";
s2=",a string.";
s=append(s1,s2);
cout<<s<<endl;
[简答题]请编写一个函数 int find(char s[],char t[]), 该函数在字符串s中查找字符串t,如果找到,则返回字符串t在字符串s中的位置(整数值):否则返回-1。本题要求:用数组方式及两重循环来实现该函数。
注意:部分源程序已存在考生文件夹的文件PROC1.cpp中。
请勿修改主函数和其他函数中的任何内容,仅在函数find( )的花括号中填写若干语句。
文件PROC1.cpp的内容如下:
//PROC1.cpp
#include<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";
else
cout<<"Not finding it /n";
return 0;
int find(char s[],char t[])
//********
[简答题]填空题
请补充函数fun( ),该函数的功能是:把从主函数中输入的字符串str2倒置后接在字符串str1后面。
例如:str1=“How do”,str2=“od uoy”,结果输出:“How do you do”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun( )的横线上填入所编写的若干表达式或语句。
试题程序:
#include
#include
#define N 40
void fun(char *str1,char *str2)
{
int i=0,j=0,k=0,n;
char ch;
char *p1=str1;
char *p2=str2;
while(*(p1+i))
i++;
while(*(p2+j))
j++;
n=【1】;
for(;k<=j/2;k++,j--)
{
ch=*(p2+k);
*(p2+k)=*(p2+j);
*(p2+j)=ch;
}
【2】;
for(;【3】;i++)
*(p1+i)=*p2++;
*(p1+i)=’’/0’’;
}
main( )
{
char str1[N],str2[N];
int m,n,k;
clrscr( );
printf("***Input the string str1 & str2
***/n");
printf("/nstr1:");
gets(str1);
printf("/nstr2:");
gets(str2);
printf("*** The string str1 & str2 ***/n");
puts(str1);
puts(str2);
fun(str1,str2);
printf("*** The new string ***/n");
puts(str1);
}
[简答题]请编写方法int countChar(String s),该方法的功能是统计已知字符串s中字母的个数。例如:countChar("A1Bd56D")的返回值为4。
[简答题]简单应用题
请编写一个函数inlinelongsum(intn),用递归函数完成运算:sum(n)=1*1+2*2++n*n,递归表达式为sum(n)=sum(n-1)+n2。
注意:部分源程序已存在文件kt10_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数sum的花括号中填写若干语句。
文件kt10_2.cpp的内容如下:
#include
inlinelongsum(intn)
{
}
voidmain( )
{ intn;
cout<<"输入n:";
cin>>n;
cout<<"结果为:"<
[单项选择]判断字符串s1是否大于字符串s2,应该使用( )。
A. if(strcmp(s1,s2)<0)
B. if(s1>s2)
C. if(strcmp(s2,s1)<0)
D. if(strcmp(s1,s2))
[多项选择]简单应用题
请编写函数void swap(int *px,int *py) 与void swap(int &px,int &py),实现主程序中变量a和b值的交换。
输出结果如下:
3 2
2 3
注意:部分源程序已存在文件test5_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数相应的花括号中填写若干语句。
文件test5_2.cpp的内容如下:
#include
void swap(int *px,int *py)
{
/***1***/
}
void swap(int &px,int &py)
{
/***2***/
}
void main( )
{
int a=2,b=3;
swap(a,b);
cout<
[多项选择]简单应用题
请编写两个函数void sort(int &x, &y)和void sort(int x,int y,int z),实现对2个和3个元素的排序并在屏幕上输出排序结果(数字之间使用跳格)。
注意:部分源程序已存放在文件test2_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数的花括号中填写若干语句。
输出结果如下:
3 4
2 3 4
文件test2_2.cpp的内容如下:
#include
void sort(int &x,int &y)
{
/**1**/
}
void sort(int x,int y,int z)
{
/**2**/
}
void main( )
{
int a=4,b=3,c=2;
sort(a,b);
sort(a,b,c);
}
[简答题]【说明】
本程序可以将字符串s1中出现的所有s2子串替换成s3,形成一个新串,但不破坏字符串s1。
【代码】
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char*replace(char *s1, char *s2,char *s3)
{ char *p, *q, *r, *s; int |2,|3, i=0;
|2=strlen(s2);
|3=strlen(s3);
p=s1;
while((p=strstr(p,s2))!=NULL)
{ i++; /* 统计s2串出现的次数*/
(1) ;
}
i= (2) ;
s=r=(char*)malloc(i); /*分配动态内存存放新字符串*/
p=s1;
while(1)
{ q=strstr(p, s2); /* s2串是否在s1中出现,q是首次出现的位置*/
if(q!=NULL)
{ i=q-p;
(3) ;
r+=i;
(4) ;
r+=|3;
p=q+|2; /*将指向s1串的指针移到s2子串出现的位置后,
为下一次循环做好准备*/
}
else /*q为空,表示剩余的s1串中已经没有s2*/
{ (5) ;
break; /*终止循环*/
}
}
return(s); /*返回指向所形成的新串的指针*/
}
void main( )
{ char *a="sabcababde", *b="ab", *c="efg", *d;
d=replace(a, b, c); printf("result=%s/n", d); free(d);
}