更多"请编写函数proc( ),该函数的功能是:将放在字符串数组中的M个字符"的相关试题:
[多项选择]请编写函数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 ");
[简答题]请编写一个函数proc( ),它的功能是:比较两个字符串的长度(不得调用C语言中求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相等,则返回第1个字符串。
例如,若输入jiangxi<CR>
beijing<CR>(<CR>为回车键)
则函数返回jiangxi。
注意:部分源程序已给出。
请勿改动主函数main和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
char * proc(char *s, char *t)
void main( )
char a[20], b[10], *p, *q;
printf("Input 1th string: ");
gets(a);
printf("Input 2th string: ");
gets(b);
printf("%s", proc(a,b));
[多项选择]编写函数fun( ),其功能是将放在字符数组中的M个字符串(每串的长度不超过N)按顺序合并组成一个新的字符串。
例如,字符数组中的M个字符串如下:
A. 则合并后的字符串的内容应是:BBBBBBBCC。
B. char w[M][N]="","BBBBBBB",
C. "",a[100];
[简答题]假定输入的字符串中只包含字母和*号。请编写函数proc( ),它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参m给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后*号的个数。在编写函数时,不得使用c语言提供的字符串函数。
例如,若字符串中的内容为****a*bc*def*g*******,删除后,字符串中的内容则应当是a*bc*def*g。
注意:部分源程序已给出。
请勿改动主函数main和其他函数中的任何内容。
试题程序:
#include<stdio.h>
#include<conio.h>
void proc(char*a, int m, int h, int e)
void main( )
char s[81], *t, *f;
int m=0, tn=0, fn=0;
printf("Enter a string: /n");
gets(s);
t=f=s;
while(*t)
t++; m++; ) //m为字符串的长度
t--; //指针t指向字符串尾部
while(*t==’*’)
t--; tn++;
//指针t指向最后一个字母,tn统计尾部’*’的个数
while(*f==’*’)
f++; fn++;
//指针f指向第一个字母,tn统计前导’*’的个数
proc(s, m, fn, tn);
printf("The string after deleted: /n");
puts(s); )
[填空题]请补充main函数,改函数的功能是,把一个二维字符数组每行字符串最大的字符拷贝到字符数组s中。
例如,如果str[3]={"efjh","cfimls","owys"},则s;"hsy"。
注意:部分源程序给出如下.
请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。
试题程序:
#inc lude<stdio, h>
main( )
{
int i=0;
char *str [3] ={ "efjh", "efknls",
"owys" };
char **p;
char s [8];
clrscr 0;
【1】;
for (i=O; i<3; i++)
{
s [i] =*p [i];
while (*p [i] )
{
if (S [i] <*p [i] )
s [i] =*p[i];
【2】;
}
}
【3】;
printf(" new string /n");
puts (s);
}
[填空题]请补充main函数,改函数的功能是,把一个二维字符数组每行字符串最大的字符拷贝到字符数组s中。
例如,如果str[3]="efjh","cfimls","owys",则s;"hsy"。
注意:部分源程序给出如下.
请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。
试题程序:
#inc lude<stdio, h>
main( )
int i=0;
char *str [3] = "efjh", "efknls",
"owys" ;
char **p;
char s [8];
clrscr 0;
【1】;
for (i=O; i<3; i++)
s [i] =*p [i];
while (*p [i] )
if (S [i] <*p [i] )
s [i] =*p[i];
【2】;
【3】;
printf(" new string /n");
puts (s);
[填空题]请补充main( )函数,该函数的功能是:把一个二维字符数组每行字符串中最大的字符复制到字符数组s中。
例如,如果arr[3]="hoih", "yufui", "xgf",则str="oyx"。
注意:部分源程序已给出。
请勿改动主函数main和其他函数中的任何内容。
试题程序:
#include<stdlib.h>
#include<stdio.h>
void main( )
int i=0;
char *arr[3]="hoih", "yufui", "xgf";
char **p;
char str[8];
system("CLS");
(1) ;
for(i=0; i<3; i++)
str[i]= *p[i];
while(* p[i])
if (str[i]<*p[i])
str[i]=*p[i];
(2) ;
(3) ;
printf("new string/n");
puts(str);
[多项选择]请编写函数proc( ),它的功能是:求出str所指字符串中指定字符的个数,并返回此值。
例如,若输入字符串12341234123,输入字符4,则输出2。
注意:部分源程序已给出。
请勿改动主函数main和其他函数中的任何内容。
试题程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#define N 81
int proc(char * str, char c)
void main( )
char a[N], ch;
system("CLS");
printf("/nPlease enter a string: ");
gets(a);
printf("/nPlease enter a char: ");
ch=getchar( );
printf("/nThe number of the char is: %d /n", proc(a, ch));
[填空题]给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。字符串数组中共有M个字符串,且串长小于N。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h>
#include <string.h>
#defineM 5
#defineN 20
void fun (char (*ss)[N])
inti, j, k=0, n, m, len;
for(i=0; i<M; i++)
len=strlen(ss[i]);
if(i==0)n=len;
if (len>n)
/******************found*******************/
n=len; (1) =i;
for(i=0; i<M; i++)
if(if=k)
m=n;
len=strlen(ss[i]);
/******************found*******************/
for (j= (2) ; j>=0; j--)
ss[i][m--]=ss[i][j];
for (j=0; j<n-len; j++)
/******************found*******************/
(3) =’*’;
main( )
char ss[M][N]="shanghai", "guangzhou",
"beijing", "tianjin", "chongqing");
int i;
printf("/nThe original strings are:/n");
for(i=0; i<M; i++)
[填空题]在给定程序中,函数fun的功能是:求出形参SS所指字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。字符串数组中共有M个字符串,且串长<N。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构。
文件BLANK1.C内容如下:
#include<stdio.h>
#include<string.h>
#define M 5
#define N 20
void fun(char( *ss)[N])
int i,j,k=0,n,m,len;
for(i=0;i<M;i++)
len=strlen(ss[i]);
if(i==0)n=len:
if(len>n)
/**********found**********/
n=len;
(1) =i;
for(i=0;i<M;i++)
if(i!=k)
m=n:
len=strlen(ss[i]);
/***********found***********/
for(j= (2) ;j>=0;j--)ss[i][m--]=ss[i][j];
for(j=0;j<n-len;j++)
/**********found**********/
(3) =’*’:
void main( )
char ss[M][N]="shanghai","guangzhou","beijing","tianjing","cchongqing";
int i;
printf("/nThe original strings are: /n");
for(i=0;i<M;i++)printf("%s/n",ss[i]);
printf("/n");
fun(ss);
printf("/nThe resuh