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

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

用“起泡法”对输入的10个字符排序后按从小到大的次序输出。

#define N 10

char str[N];

main()

{ int i,flag;

for(flag=1;flag==1;)

{ scanf("%s",str);

flag=0;

printf("\n");

}

sort(___(4)___);

for(i=0;i<N;I++)

printf("%c",str[i]);

printf("\n");

}

sort(char str[N])

{ int i,j;

char t;

for(j=1;j<N;J++)

for(i=0;(i<N-J)&&(STR[I]!='\0');I++)

if(str[i]>str[i+1])

{ t=str[i];

____(5)____;

____(6)____;

}

}


参考答案

更多 “ 用“起泡法”对输入的10个字符排序后按从小到大的次序输出。#define N 10char str[N];main(){ int i,flag;for(flag=1;flag==1;){ scanf("%s",str);flag=0;printf("\n");}sort(___(4)___);for(i=0;iN;I++)printf("%c",str[i]);printf("\n");}sort(char str[N]){ int i,j;char t;for(j=1;jN;J++)for(i=0;(iN-J)(STR[I]!='\0');I++)if(str[i]str[i+1]){ t=str[i];____(5)____;____(6)____;}} ” 相关考题
考题 ( 12 ) 有以下程序#include stdio.h#include string.hvoid fun ( char *str ){ char temp;int n,i;n=strlen ( str ) ;temp=str[n-1];for ( i=n-1;i0;i-- ) str[i]=str[i-1];str[0]=temp;}main (){ char s[50];scanf ( " %s " ,s ) ; fun ( s ) ; printf ( " %s\n " ,s ) ;}程序运行后输入: abcdef 回车 ,则输出结果是 【 12 】 。

考题 请编写一个函数void fun(cbara [], charb [], int n),其功能是:删除一个字符申中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。例如,输入一个字符串world,然后输入3,则调用该函数后的结果为word。注意:部分源程序给出如下。请勿改动主函数main 和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include <stdio.h>include <conio.h>define LEN 20void fun (char a[], char b [], int n){}main (){char str1 [LEN], str2 [LEN];int n ;clrscr ();printf ("Enter the string : \n") ;gets (str1) ;printf ("Enter the position of the stringdeleted: ");scanf ("%d", n) ;fun (str1, str2, n) ;printf ("The new string is : %s \n",str2) ;}

考题 请补充main函数,该函数的功能是:从键盘输入一个字符串及一个指定字符,然后把这个字符及其后面的所有字符全部删除。结果仍然保存在原串中。 例如,输入“abcdefg”,指定字符为“d”,则输出“abe”。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。 试题程序: includestdlib.h includestdio.h define M 80 void main { int i=0; char str[M]; char ch; system("CLS"); printf("\n Input a strin9:\n"); gets(str); printf("\n Input a charator;\n"); scanf("%c",&ch); while(str[i]!=\0) { if(str[i]==ch) 【1】 【2】 ; } str[i]=【3】 ; printf("\n***display string***\n"); puts(str); }

考题 阅读下列程序说明和C代码,把应填入其中n处的字句写在答卷的对应栏内。【说明】程序利用选择排序算法对数组a中的N个整数按照从小到大的顺序排列,并将排序结果显示出来。【程序】define N 10main(){void (1);int i,a[N];for(i=0;i<10,i++) /*输入*/scanf(“%d”,a[i]);(2);for(i=0;i<N,i++) /*输出*/printf(“%3d”,a[i]);}void selectSon(int x[],int n){int i,j,k,t;for(int i=0; (3);i++){k=i;for(j=i+1;j<n;j++)if (4) k=j;if (5){t=x[i];x[i]=x[k];x[k] =t;}}}

考题 请补充函数fun(),该函数的功能是:把ASCII码为奇数的字符从字符串str中删除,结果仍然保存在字符串str中。字符串str从键盘输入,其长度作为参数传入函数fun()。例如,输入“abcdef”,输出“bdf”。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include <stdio.h>define N 80void 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);}

考题 请补充main函数,该函数的功能是:把字符串str中的字符向前移动一位,原来的第一个字符移动到字符串尾,结果仍然保存在原字符串中。例如,输入“how do you do?”,则结果输出“ow do you do?h”。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。试题程序:include <stdio. h>define N 80main(){char str[N], ch;int i;clrscr ();printf("\n Input a string:In");gets (str);printf("\n*** original string ***In");puts (str);ch=str [0];for (i=0;【 】; i++)str [i]=str [i+1];【 】;printf("\n *** new string ***\n");puts (str);}

考题 请补充函数fun(),该函数的功能是:返回字符数组中指定子符的个数,指定字符从键盘输入。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include <stdio.h>define N 80int fun (char s[],char ch){int i=0, n=0;while(【 】){if(【 】)n++;i++;}【 】;}main ( ){int n;char str[N], ch;clrscr ();printf ("\nInput a string: \n");gets (str);printf ("\nInput a charactor: \n" ;scanf ("%c", ch);n=fun (str, ch);printf("\nnumber of %c:%d", ch, n);}

考题 请补充函数fun(),该函数的功能是:把字符串str中的字符按字符的ASCⅡ码降序排列,处理后的字符串仍然保存在原串中,字符串及其长度作为函数参数传入。例如,如果输入“cdefgh”,则输出为“hgfedc”。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include <stdio.h>define N 80void fun (char s [], int n){int i, j;char ch;for (i=0; i<n; i++)for(j=【 】;j<n;j++)if (s[i]<s [j]){ch=s [j];【 】;s [i] =ch;}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);}

考题 程序中头文件type1.h的内容是( )。 #define N 5 #define M1 N*3 程序如下: #define "type1.h" #define M2 N*2 main() { int i; i=M1+M2; printf("%d\n",i); } 程序编译后运行的输出结果是( )。A.10B.20C.25D.30

考题 下列给定程序中,函数fun()的功能是:从N个字符串中找出最长的那个中,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include <string.h>include <stdio.h>define N 5define M 81/*************found**************/fun(char (*sq) [N]){int i; char *sp;sp=sq[0];for{i=0;i<N;i++)if(strlen(sp)<strlen(sq[i]))sp=sq[i];/*************found**************/return sq;}main (){char str[N][M], *longest; int i;printf("Enter %d lines:\n ",N);for(i=0;i<N;i++) gets(str[i]);printf("\nThe %d string :\n ",N);for(i=0;i<N;i++) puts(str[i]);longest=fun(str);printf("\nThe longest string :\n ");puts(longest);}

考题 执行以下程序的输出结果是( )。 includedefine M 5define N M+M main(){int k; k=N*N*5; 执行以下程序的输出结果是( )。include<stdio.h>define M 5define N M+Mmain(){ int k;k=N*N*5;printf(”%d\n" ,k);}

考题 下列给定的程序中,函数fun()的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include<stdio.h>define N 20void fun(int a[],int n){int i,j,t,p;for (j=0;j<n-1;j++)/*************found**************/{p=jfor(i=j;i<n;i++)if(a[i]<a[p])/*************found**************/p=j;t=a[p]; a[p]=a[j]; a[j]=t;}}main(){int a[N]={9.6,8,3,-1},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);}

考题 下列定义数组的语句中正确的是______。A.#define size 10 char str1[size],str2[size+2];B.char str[];C.int num['10'];D.int n=5; int a[n][n+2];

考题 下面程序的输出是()。define N 3define M(n) ((N+1)*n)include void main(){int 下面程序的输出是( )。#define N 3#define M(n) ((N+1)*n)#include <iostrearn.h>void main(){ int z=2*(N+M(5+1)); cout<<z<<end1;}A.42B.48C.54D.编译报错

考题 有如下程序段#include "stdio.h"#include "string.h"#define N 10#define M 10char *find(char(*a)[M],int n){ char *q;int i; q=a[0]; for(i=0;in;i++) if(strcmp(a[i],q)0)q=a[i]; return q;}main(){ char s[N][M]={"tomeetme","you","and","he","china"}; char *p; int n=5; p=find(s,n); puts(p);}则执行后输出的结果为A.he B.and C.you D.tomeetme

考题 字符串str由数字字符组成(长度不超过5个字符),可看作任意进制的数,请补充函数fun(),该函数的功能是:把 str字符串转换成任意进制的数,结果保存在数组xx中,由函数返回转换后数组腆的实际长度。其中x表示str原来的进制, y表示要转换成的进制。例如,输入str=“1111”,x=2,y=10,结果输出:15。如果输入str=“15”, x=10,Y=2,结果输出: 1111。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include <stdio.h>include<stdlib.h>include<string.h>define N 8int xx[N];int fun(char *str,int x,int y){int sum;int i=0;char *p=str;for(i=0; i<N; i++)xx[i]=0;sum=*p-'0';p++;while (*p){sum=【 】;p++;}i=0;while(sum!=0){xx[i]=【 】;【 】;i++;}return i;}main (){char str[6];int i;int n;int x;int y;printf("Enter a string made up of '0' to'9' digits character:");gets(str);if(strlen (str) 5){printf("Error:string too longer!,please input again!\n\n");exit(0);}for(i=0;str[i];i++)if(str[i]<'0'||str[i]>'9'){printf("Error:%c not is '0' to'9' digits character!\n\n",str[i]);exit(0);}printf("The original string: ");puts(str);printf("\nINPUT x= ");scanf("%d",x);printf("\nINPUT y= ");scanf("%d",y);n=fun(str,x,y);printf("\n%s is convered to",str);for (i=n-1; i=0; i--)printf("%d",xx[i]);}

考题 以下程序运行后输入:3,abcde回车,则输出结果是【 】include move(char *str, 以下程序运行后输入:3,abcde回车,则输出结果是【 】include <string.h>move(char *str, int n){ char temp; int i;temp=str[n-1];for(i=n-1;i>0;i--) str[i]=str[i-1];str[0]=temp;}main( ){ char s[50]; int n, i, z;scanf("%d,%s",n,s);z=strlen(s);for(i=1; i<=n; i++) move(s, z);printf("%s\n",s);}

考题 下列程序的输出结果是______。 char*fun(char*str,int n) { int i; char*p=str; for(i=0;i<10;i++,str++) *str='a'+i; return++p; } main() { char a[10]; printf("%s\n",fun(a,10)); }A.ABCDEFGHIJB.abcdefghijC.bcdefghijD.不确定的值

考题 阅读下列程序说明和C代码,将应填入(n)处的字句写在对应栏内。[函数2.1说明]函数void find(int *a, int n, int * max, int * min)的功能是在长度为n的整型数组a中,查找最大元素和最小元素的下标。main()中给出了调用find函数的一个实例。[函数2.1]include<stdio.h>void find(int *a, int n,int *max,int * min){ int i;*max =* min=0;for(i=1;i<n;i+ +)if(a[i]>a[* max]) (1);else if(a[i]<a[*min]) (2);return;main(){ int a[]={4,6,8,9,0,6},max,min;find(a,6,(3));printf("%5d%5d\n", max,min);}[函数2.2说明]以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串前端的公共部分。例如:输入的两个字符串分别是abcdefg和abceef,则输出为abc。[函数2.2]include <stdio.h>main(){ char str1[100],str2[100],str[100],c;int i=0,s;printf("\nInput string 1:");gets(str1);printf("\nInput string 2:");gets(str2);while(((4))(str1[i]!='\0')(str2[i]!='\0')){(5);i++;}printf("%s\n",str);}

考题 请补充函数fun(),该函数的功能是:把字符下标能铍2或3整除的字符从字符串str中删除,把剩余的字符重新保存在字符串str中。字符串str从键盘输入,其长度作为参数传入函数fun()。例如,输入“abcdefghijk”,输出“bfh”。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include <stdio.h>define N 80void fun(char s[], int n){int i, k;【 】;for(i=0; i<n; i++){s[k++]=s[i];if(【 】)k--;}【 】;}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);}

考题 下列给定程序中,函数proc的功能是:读入一个字符串(长度20),将该字符串中的所有字符按ASCII码升序排序后输出。 例如,输入opdye,则应输出deopy。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: includestring.h includestdlib.h includeconio.h includestdio.h //****found**** int proc(char str[]) { char c; unsigned i,j; for(i=0;istrlen(str)-1;i++) for(j=i+1;jstrlen(str);j++) if(str[i]str[j]) { c=str[j]: //****found**** str[j]=str[i++]; str[i]=c; } } void main { char str[81]; system("CLS"); printf("\nPlease enter a character string:"); gets(str); printf("\n\nBefore sorting:\n%s",str); proc(str); printf("\nAfter sorting decendingly:\n %s",str); }

考题 若有如下程序; #define X 3 #define Y X+1 #define Z Y*Y/2 main() { int n; for(n=1;n<=Z;n++) printf("%d",n); } 则程序运行后的输出结果是( )A.12345B.1234567C.12345678D.123456

考题 请补充函数fun(),该函数的功能是:把一个字符串中的字符(字母)按从小到大排序,并把这个全部由字母组成的字符串保存在原串中,函数返回这个字符串的长度。例如;输入“cixbr2.3”,如果为bcirx,字符串长度为5。注意:部分源程序给出如下.请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。include <stdio.h>define N 20int fun (char *str){int i=0,j=0,k=-0,m=0;char t;char *p=str;while(*p){if((*p>='A'*p<='Z')||(*p>='a'*p<='z'))【 】p++;}*(str+i)='\0';【 】;while(*(p+j)){k=j;【 】;while (*(p+k)){if(*(p+k)<*(str+m){t=*(str+m);*(str+m)=*(p+k);*(p+k)=t;}k++;}j++;}return i; }main(){char str[81];iht n;clrscr();printf("Input the original string ");gets(str);printf("*** The Original string ***In");puts(str);printf("*** The nwe string ***\n");n=fun(str);puts(str);printf("***The length of new string is:%d***\n",n);}

考题 程序中头文件typel.h的内容是 #define N 5 #define M1 N*3 #define "typel .h" #define M2 N*2 main ( ) { int i; i=M1+M2; printf ("%d\n", i ); } 程序编译后运行的输出结果是A.10B.20C.25D.30

考题 下面程序的功能是 : 将 N 行 N 列二维数组中每一行的元素进行排序 , 第 0 行从小到大排序 , 第 1 行从大到小排序,第 2 行从小到大排序,第 3 行从大到小排序,例如:define N 4void sort(int a[][N]){ int i, j, k, t;for (i=0; iN;i++)for (j=0; jN-1:j++)for (k= 【 13 】 ; kN;K++)/* 判断行下标是否为偶数来确定按升序或降序来排序 */if ( 【 14 】 ? a[i][j]a[i][k]); a[i][j]a[i][k]){ t = a[i][j];a[i][j]=a[i][k];a[i][k] = t;}}void outarr(int a[N][N]){ …… }main(){ int aa[N][N]={{2,3,4,1},{8,6,5,7},{11,12,10,9},{15,14,16,13}};outarr(aa); /* 以矩阵的形式输出二维数组 */sort(aa);outarr(aa);}

考题 下列定义数组的语句中正确的是().A、#define size 10  char  str1[size],str2[size+2];B、char str[];C、int num[’10’];D、int n=5; int a[n][n+2];