更多"请编写函数fun( ),它的功能是:实现两个字符串的连接(不使用库函数"的相关试题:
[简答题]
请编写函数fun, 函数的功能是:统计一行字符串中单词的个数,作为函数值返 回。一行字符串在主函数中输入, 规定所有单词由小写字母组成,单词之间由若干 个空格隔开, 一行的开始没有空格。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
#include
#define N 80
int fun( char *s)
{
}
main( )
{ char line[N]; int num=0;
printf("Enter a string :/n"); gets(line);
num=fun( line );
printf("The number of word is : %d/n/n",num);
NONO( );
}
[单项选择]有以下程序(strcpy为字符串复制函数,strcat为字符串连接函数):
# include <stdio.h>
# include <string.h>
main( )
char a[10]="abc", b[10]="012", c[10]="xyz";
strcpy(a+1, b+2);
puts(strcat(a, c+1));
程序运行后的输出结果是( )。
A. a12xyz
B. 12yz
C. a2yz
D. bc2yz
[简答题]编写一个函数fun( ),它的功能是:实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。
例如,分别输入下面两个字符串:
FirstString
SecondString
则程序输出:
FirstStringSecondString
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号小填入所编写的若干语句。
试题程序:
#include <stdio. h>
#include<conio. h>
void fun (char pi[],char p2[])
main ( )
char s1[80],s2[40];
clrscr ( );
printf("Enter s1 and s2:/n");
scanf ("%s%s", s1, s2);
printf ("s1=%s/n", s1);
printf("s2=%s/n",s2);
printf("Invoke fun(s1,s2) :/n");
fun(s1,s2);
printf("After invoking:/n");
printf ("%s/n", s1);
[填空题]请补充函数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 *p1=str1;
char *p2=str2;
while( 【1】 )
i++;
for( ; 【2】 ;i++)
*(p1+i)= 【3】 ;
*(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);
[简答题]填空题
请补充函数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);
}
[填空题]请补充函数fun( ),该函数的功能是:把从主函数中输入的字符串str2倒置后接在字符串str1后面。
例如:str1=“How do”,str2=“od uoy”,结果输出:“How do you do”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun( )的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#include<conio.h>
#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);
}
[简答题]请编写函数fun( ),该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<string. h>
# include<stdio, h>
#define N 80
int fun (char *s)
main ( )
char line [N];
int num=0;
printf ("Enter a string: /n ");
gets (line);
num=fun (line);
printf ("The number of word is: %d/n/n ",
num);
[填空题]请补充fun函数,该函数的功能是:把字符的ASCII码为奇数的字符从字符串str中删除,结果仍然保存在字符串中,字符串str从键盘输入,其长度作为参数传入fun函数。
例如,输入“abcdef”则输出“bdf”。
注意:部分源程序已给出。
请勿改动主函数main和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#define N 100
void (1)
int i,j;
(2) ;
for(i=0;i<n;i++)
char str[N];
printf("please input a string:/n");
gets(str);
while(str[i]!=’/0’)
len++;
if(s[i]%2==0)
s[j++]=s[i];
(3) ;
main( )
int i=0,len=0;
i++;
fun(str,len);
printf("The result string:/n");
puts(str);
[填空题]请补充函数fun( ),该函数的功能是:依次取出字符串中所有的小写字母以形成新的字符串,并取代原字符串。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun( )的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#include<conio.h>
void fun(char *s)
int i=0;
char *p=s;
while( 【1】 )
if (*p>=’a’&&*p<=’z’)
s[i]=*p;
【2】 ;
p++;
s[i]= 【3】 ;
main( )
char str[80];
clrscr( );
printf("/nEnter a string:");
gets(str);
printf("/n/nThe string is:/%s/n",str);
fun(str);
printf("/n/nThe string of changing
is:/%s/n",str);
[简答题]请编写函数fun( ),该函数的功能是:将s所指字符串中 ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。
例如,若s所指字符串中的内容为ABCDEFGl2345,其中字符B的ASCⅡ码值为偶数、…、字符2的ASCⅡ码值为偶数、…,都应当删除,其他依次类推。最后t所指的数组中的内容应是ACEGl35。
注定:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序;
#include <stdio. h>
#include<string.h>
#include<conio. h>
void fun(char *s, char t[])
main ( )
char s[100],t [100];
clrscr ( );
printf (,/nPlease enter string S: ");
scanf ("%s", s);
fun(s,t);
printf ("/nThe result is :%s/n",t);
[多项选择]请编写函数fun( ),该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按J顷序合并组成一个新的字符串。
例如,若字符串数组中的M个字符串为
A. 则合并后的字符串内容应该是BBBBBBBCC
B. char w [M] [N] ="", "BBBBBBB", "CC", i;
C. puts (w[i]);
D. printf (" /n ");
E. fun (w, a);
F. printf ("The A string: /n ");
G. printf("%s ",a);
H. printf("/n/n ");