网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

下列给定程序中,函数fun()的功能是:用冒泡法对6个字符串按由大到小的顺序进行排序。

请改正程序中的错误,使它能得到正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

include <conio.h>

include <stdio.h>

define MAXLINE 20

void fun(char *pstr[6])

{

int i,j;

char *p;

for(i=0;i<5;i++)

for(j=i+1;j<6;j++)

/*************found*************/

if(strcmp((pstr+i),(pstr+j))<0)

{

p=*(pstr+i);

*(pstr+i)=*(pstr+j);

/*************found*************/

*(pstr+j)=*p;

}

}

main()

{

int i;

char*pstr[6],str[6][MAXLINE];

clrscr();

for(i=0;i<6;i++)

pstr[i]=str[i];

printf("/nEnter 6 string(1 string at each line):\n");

for(i=0;i<6;i++)

scanf("%s",pstr[i]);

fun(pstr);

printf("The strings after sorting:\n");

for(i=0;i<6;i++)

printf("%s\n",pstr[i]);

}


参考答案

更多 “ 下列给定程序中,函数fun()的功能是:用冒泡法对6个字符串按由大到小的顺序进行排序。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include <conio.h>include <stdio.h>define MAXLINE 20void fun(char *pstr[6]){int i,j;char *p;for(i=0;i<5;i++)for(j=i+1;j<6;j++)/*************found*************/if(strcmp((pstr+i),(pstr+j))<0){p=*(pstr+i);*(pstr+i)=*(pstr+j);/*************found*************/*(pstr+j)=*p;}}main(){int i;char*pstr[6],str[6][MAXLINE];clrscr();for(i=0;i<6;i++)pstr[i]=str[i];printf("/nEnter 6 string(1 string at each line):\n");for(i=0;i<6;i++)scanf("%s",pstr[i]);fun(pstr);printf("The strings after sorting:\n");for(i=0;i<6;i++)printf("%s\n",pstr[i]);} ” 相关考题
考题 下列给定程序中,函数fun()的功能是:利用插入排序法对字符串中的字符按从大到小的顺序进行排序。插入法的基本方法是:先对字符串中的头两个元素进行排序,然后把第3个字符插入到前两个字符中,插入后前3个字符依然有序;再把第4个字符插入到前3个字符中,待排序的字符串已在主函数中赋予。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include <string.h>include <stdio.h>define N 80void insert(char *aa){int i,j,n; char ch;n=strlen(aa);for(i=1;i<n;i++){ch=aa[i];j=i-1;/*************found*************/while((j>=0)||(ch>aa[j])){aa[j+1]=aa[j];j--;}/*************found*************/aa[j]=ch;}}main(){char a[N]="JRTYDFKLIOPQWEGHMNBVCUASXZ";int i;printf("The original string: %S\n",a);insert(a);printf("The string after sorting:%S\n\n",a);}

考题 下列给定的程序中,函数fun()的功能是:用选择法对数组中的n个元素按从大到小的顺序进行排序。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include<stdio.h>define N 20void fun(int a[ ],int n){int i,j,t,p;/*************found*************/for(j=0;j<n-1;j++) ;{p=j;for(i=j;i<n;i++)if(a[i)>a[p])p=i;t=a[p];a[p]=a[i];/*************found**************/a[p]=t;}}main(){int a[N]={11,32,-5,2,14},i,m=5;printf(“排序前的数据:”);for(i=0;i<m;i++)printf(“%d”,a[i]);printf(“\n”);fun(a,m);printf(“排序后的顺序:”);for(i=0;i<m;i++)printf(“%d”,a[i]);printf(“\n”);}

考题 下列给定程序中,函数fun()的功能是;利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本方法是:先对字符串中的头两个元素进行排序,然后把第3个字符插入到前两个字符中,插入后前3个字符依然有序;再把第4个字符插入到前3个字符中,待排序的字符串已在主函数中赋予。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.试题程序:include <String.h>include <stdio.h>define N 80void insert(char *aa){ iht i, j, n; char ch;n=strlen (aa);for (i=1; i<n; i++)/**********************************/{ c=aa[i];j=i-1;while ((j>=0) && (ch<aa [j] )){ aa [j+l]=aa[j];j--;}aa [j+l]=ch;}}main ( ){ char a [N] = "QWERTYUIOPASDFGHJKIMNBVCXZ";int i;printf("The original string: %s\n",a);insert (a);printf("The string after sorting:%s\n\n", a);}

考题 补充程序Ccon042.C,使程序中的sort()函数用冒泡法对数组a中的m个元素从大到小排序

考题 下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODIl.C中,不得增行或删行,也不得更改程序的结构!

考题 给定程序MODll.C中函数fun的功能是:读入一个字符串(长度<20),将该字符串中的所有字符按ASCII码升序排序后输出。例如,若输入:edcba,则应输出:abcde。请改正程序中的错误,使它能统计出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

考题 给定程序MODll.C中函数fun的功能是:将字符串中的字符按逆序输出,但不改变字符串中的内容。例如,若字符串为abcd,则应输出:dcba。请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

考题 下列给定程序中,函数proc()的功能是:用冒泡法对6个字符串按由小到大的顺序进行排序。 请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序:

考题 用冒泡法对数组a中10个元素{60,70,99,10,90,40,20,50,30,80} 按从大到小的顺序进行排序。要求定义函数sort实现排序,在主函数中输出排好序的数组元素。