有如下语句序列:
char str[10];cin>>str;
当从键盘输入”I love this game”时,str中的字符串是
A.”I love this game”
B.”I love thi”
C.”I love”
D.”I”
第1题:
若有定义:char strl[10],str2[ ]="student"; 以下能把str2中的字符串赋给strl的语句是()。
A.for(int i=0; i<=strlen(str2); i++) str1[ i ]=str2[ i ];
B.str1="student";
C.str1=str2;
D.for(int i=0; str2[ i ]!=0; i++) str1[ i ]=str2[ i ];
第2题:
有如下语句序列: Char str[10];Cin>>str; 当从键盘输入“I love this game”时,str中的字符串是( )。
A.”I love this game”
B.”I love thi”
C.”I love”
D.”I”
第3题:
请补充main函数,该函数的功能是:从键盘输入一个字符串并保存在字符str1中,把字符串str1中下标为偶数的字符保存在字符串str2中并输出。例如,当str1=“cdefghij”,则 str2=“cegi”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
include<stdio.h>
include<conio.h>
define LEN 80
main()
{
char str1[LEN],str2 [LEN];
char *p1=str1,*p2=str2;
int i=0,j=0;
clrscr();
printf("Enter the string:\n");
scanf(【 】);
printf("***the origial string***\n");
while(*(p1+j))
{
printf("【 】",*(p1+j));
j++;
}
for(i=0;i<j;i+=2)
*p2++=*(str1+i);
*p2='\0';
printf("\nThe new string is:%s\n", 【 】 );
}
第4题:
函数f_str(char *str,char del)的功能是;将非申字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。例如,若str的值为“66981636666257”,del的值为“6”,调用此函数后,将输出3个子字符串,分别为“981”、“3”和“257”。请将函数f_str中(6)~(8)空缺处的内容填写完整。
[函数]
void f_str(char *str,char del)
{ int i,j,len;
len = strlen(str);
i = 0;
while (i<len) {
while ( (6) )
i++; /* 忽略连续的标志字符 */
/* 寻找从srt[i]开始直到标志字符出现的一个子字符串 */
j = i+1;
while (str[j] !=del && str[j] !='\0')
j++;
(7)="\0"; /* 给找到的字符序列置字符串结束标志 */
printf (" %s\t", & str [i]);
(8);
}
}
第5题:
请补充函数fun(),该函数的功能是:把从主函数中输入的字符串str2接在字符串str1的后面。
例如:str1=“How do”,str2=“you do?”,结果输出: How do you do?
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
include<stdio.h>
include<conio.h>
define N 40
void fun(char*str1,char *str2)
{
int i=0;
char *pl=str1;
char*p2=str2;
while(【 】)
i++;
for(;【 】;i++)
*(p1+i)=【 】;
*(p1+i)='\0';
}
main()
{
char str1[N],str2[N);
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);
}
第6题:
执行语句序列
char str1[10]="ABCD",str2[10]="XYZxyz";
for(int i=0;strl[i]=str2[i];i++);
后,数组strl中的字符串是______。
第7题:
执行语句序列
char strl[10]="ABCD",str2[10]="XYZxyz";
for (int i=0; strl[i]=str2[i]; i++)
后,数组str1中的字符是XYZxyz,数组str2中的字符串是【 】。
第8题:
请补充函数fun(),该函数的功能是:把ASCII码为奇数的字符从字符串str中删除,结果仍然保存在字符串str中。字符串str从键盘输入,其长度作为参数传入函数fun()。
例如,输入“abcdef”,输出“bdf”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
include <stdio.h>
define N 80
void fun(char s[],int n)
{
int i, j;
j=0;
for(i=0;【 】;i++)
{
if(【 】)
s [j++]-s [i];
}
【 】;
}
main ( )
{
int i=0, strlen=0;
char str [N];
clrscr ();
printf ("\nInput a string: \n");
gets (str);
while (str [i] !='\0')
{
strlen++;
i++;
}
fun(str, strlen);
printf("\n*** display string ***\n");
puts (str);
}
第9题:
请编写一个函数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)
{
}