题目详情
当前位置:首页 > 计算机考试 > 中级软件设计师
题目详情:
发布时间:2024-04-04 03:24:32

[简答题]【程序说明】
该程序定义了两个子函数strsort和strmerge。它们分别实现了将一个字符串按字母顺序排序和将两个字符串合并排序,并删去相同字符。在主函数里,先输入两个字符串s1和s2,然后调用strsort函数对它们分别排序,然后调用strmerge函数将s1和s2合并,将合并后的字符串赋给字符串s3,最后输出字符串s3。
【程序】
#include<stdio.h>
void strmerge(char,a,char *b,char *c) //将字符串a,b合并到字符串c中

char t,*w;
w=c;
while( (1) )
//找到字符串a,b当前字符中较小的字符
if(*a< *b)

t= *a;
(2)

else if (*a>*b)

t= *b;
(3)

else //字符串a,b当前字符相等

t= *a;
a++;
b++;

if( (4) ) //开始,可直接赋值
*w=t;
else if(t!=*w)
//如果a,b中较小的当前字符与c中当前字符不相等,才赋值 (5)

if(*a!=/’/0’) //如果字符串a还没有结束,则将a的剩余部分赋给C
while(*a!=’/0’)
if(*a!=*w)

*(++w)=*a;
a++;

else
(6)
if(*6!=’/0’) //如果字符串b还没有结束,则将b的剩余部分赋给c
while(*b!=’/0’)
if(*b! = *w)

更多"【程序说明】 该程序定义了两个子函数strsort和strmerge"的相关试题:

[简答题]【程序说明】 该程序定义了两个子函数strsort和strmerge。它们分别实现了将一个字符串按字母顺序排序和将两个字符串合并排序,并删去相同字符。在主函数里,先输入两个字符串s1和s2,然后调用strsort函数对它们分别排序,然后调用strmerge函数将s1和s2合并,将合并后的字符串赋给字符串s3,最后输出字符串s3。 【程序】 #include<stdio.h> void strmerge(char,a,char *b,char *c) //将字符串a,b合并到字符串c中 { char t,*w; w=c; while( (1) ) {//找到字符串a,b当前字符中较小的字符 if(*a< *b) { t= *a; (2) ; { else if (*a>*b) { t= *b; (3) ; } else //字符串a,b当前字符相等 { t= *a; a++; b++; } if( (4) ) //开始,可直接赋值 *w=t; else if(t!=*w) //如果a,b中较小的当前字符与c中当前字符不相等,才赋值 (5) ; } if(*a!=/’/0’) //如果字符串a还没有结束,则将a的剩余部分赋给C while(*a!=’/0’) if(*a!=*w) { *(++w)=*a; a++; } else (6) ; if(*6!=’/0’) //如果字符串b还没有结束,则将b的剩余部分赋给c while(*b!=’/0’) if(*b! = *w) { *(++w)=*b; b++; } else b++; (7) ; } void strsort(char*s) //将字符串S中的字符
[填空题]【说明】
下面的程序功能的功能是以行为单位对字符串按下面的条件进行排序。排序条件为:从字符串中间一分为二,右边部分按字符的ASCII值降序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加排序,字符仍放在原位置上
例如:位置:0 1 2 3 4 5 6 7
源字符串:h g f e a b c d
则处理后字符串:d c b a h g f e
函数ReadDat( )实现从文件in.dat中读取数据(每行字符串长度均小于80),函数WriteDat( )把结果dat输出到文件out.dat中。
#include<stdio.h>
#include<siring.h>  
#include<conio.h>
char dat[20] [80];
void jsSort( )

int i,j,k,strl;
char ch;
for(i=0;i<20;i++)
strl=strlen(date[i]);
for(j= (1) ;j<strl;j++) /*对后半部分的字符串进行排序*/
for(k=j+1;k<strl;k++)
if( (2) )

ch=dat[i] [j];
dot[i] [j]=dat[i] [k];
dat[i] [k]=ch;

for(j=0; (3) j++) /*前后两部分进行交换*/

ch = date [i] [j];
dote [i] [j] = date [i] [(strl+1)/2+j];
dat [i] [(strl+1)/2+j]=ch;



void main( )

reodDat( );
isSort( );
writeDot( 
[单项选择]有以下程序,其中函数 f 的功能是将多个字符串按字典顺序排序: #include void f(char *p[],int n) { char *t; int i,j; for(i=0;i0){ t=p[i]; p[i]=p[j]; p[j]=t; } } main( ) { char *p[5]={"abc","aabdfg","abbd","dcdbe","cd"}; f(p,5); printf("%d/n",strlen(p[1])); } 程序运行后的输出结果是______。
A. 2
B. 3
C. 6
D. 4
[单项选择]有以下程序,其中函数的功能是将多个字符串按字典顺序排序:
# include<string.h>
void f(char*p[],int n)
char *t; int i,j;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(strcmp(p[i],p[j])>0)t=p[i];p[i]=p[j]p[j]=t;

main( )
char *p[5]="abc","aabdfg","abbd","dcdbe","cd";
f(p,5);
printf("%d/n",strlen(p[1]));

程序运行后的输出结果是 ______。
A. 2
B. 3
C. 6
D. 4
[简答题]有以下程序,其中函数f的功能是将多个字符串按字典顺序排序( )。
# include<string.h>
void f(char*p[],int n)
char*t;int i,j;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(strcmp(p[i],p[j]>0)t=p[i];p[i]=p[j];p[j]=t;)

main( )
char *p[5]="abc" ,"aabdfg" ,"abbd", "dcdbe", "cd");
f(p,5);
printf("%d/n",strlen(p[1]));

程序运行后的输出结果是( )。
[单项选择]以下程序中函数f( )的功能是将n个字符串按由大到小的顺序进行排序。   #include<string.h>   void f(char p[ ][10],int n)   { char t[20]; int i,j;    for(i =O;i <n-1 ;i ++ )     for(j =i + 1 ;j < n;j ++ )      if(strcmp(p [i] ,p[j] ) <0)       { strcpy(t,p[i]);strcpy(p[i] ,p[j] );strcpy(p[j] ,t); } }   main ( )   { char p [ ] [ 10 ] = { "abc","aabdfg","abbd","dcdbe", "cd" }; int i;    f(p,5); printf("%d/n",strlen(p[O] ) );   }   程序运行后的输出结果是( )。
A. 6
B. 4
C. 3
D. 5
[单项选择]有以下程序,其中函数f的功能是将多个字符串按字典顺序排序: #include<string.h> void f(char *p[],int n) {char *t;int i,j; for(i=O;i<n-1;i++) for(j=i+1;j<n;j++) if strcmp(p[i],p[j])>0{t=p[i] p[i]=p[j]; p[j]=t; } } main( ) {char* p[5]=("abc","aabdfg","abbd","dcdbe","cd"}; f(p,5); printf("%d/n",strlen(p[1])); } 程序运行后的输出结果是【 】。
A. 2
B. 3
C. 6
D. 4
[单项选择]有以下程序,其中函数f的功能是将多个字符串按字典顺序排序
#include
void f(char *p[ ],int n)
char *t; int i,j;
for(i=0;i<N-1;i++)
for(j=i+1;j<N;j++)
if(strcmp(p[i],p[j])>0)

t=p[i];
p[i]=p[j];
p[j]=t;
main( )
char *p[5]="abc", "aabdfg", "abbd", "dcdbe", "cd";
f(p,5);
printf("%d/n",strlen(p[1]));程序运行后的输出结果是______。
A. 2
B. 3
C. 6
D. 4
[简答题]下列给定程序中,函数fun的功能是:用冒泡法对6个字符串按由小到大的顺序排列。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#include<stdio.h>
#define MAXLINE 20
fun(char*pstr[6])

lnt i,j;
char *p;
for(i=O;i<5;i++)

/********found********/
for(j=i+l,j<6,j++)

if(strcmp(*(pstr+i)*(pstr+j))>0)

P=*(psfr+i);
/********found********/
*(pstr+i)=pstr+j;
*(pstr+j)=p;




void main( )

int i;
char*pstr[6],str[6][MAXLINE];
system("CLS");
for(i=O;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=O;i<6;i++)
printf("%s/n"pstr[i]);

[单项选择]有以下程序,其中函数f的功能是将多个字符串按字典顺序排序: #include<string.h> voidf(char*p[],intn) { char*t;int i,j; for(i=0;i<n-1;i++) for (j=i+1;j<n;j++) if(strcmp(p[i],p[j])>0) { t=p[i]; p[i]=p[j]; p[j]=t; } } main( ) { char*p[5]={"abc","aabdfg","abbd","dcdbe","cd"}; f(p,5); printf("%d/n",strlen(p[1])); } 程序运行后的输出结果是______。
A. 2
B. 3
C. 6
D. 4
[单项选择]以下程序中函数f的功能是将n个字符串按由大到小的顺序进行排序: #include <string.h> void f(char p[][10],int n) { char t[20]; int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++ if(strcmp(p[i],p[j])<0) { strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t); } } main( ) {char p[][10]:{"abc","aabdfg","abbd","dcdbe","cd",);int i; f(p,5); printf("%d/n",strlen(p[0])); } 程序运行后的输出结果是( )。
A. 6
B. 4
C. 5
D. 3

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码