填空题下列给定程序中,函数proc()的功能是:在字符串str中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。例如,调用proc()函数之前给字符串输入DcybkdGT,调用后字符串中的内容为yDcbkdGT。
请修改程序中的错误,使它能得到正确结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdio.h>
//****found****
void proc(char t)
{
char max,*q;int i=0;
max=t[i];
while(t[i]!=0)
{
if(max<t[i])
{
//****found****
t=q+i;max=t[i];
}
i++;
}
while(q>t)
{
*q=*(q-1);
q--;
}
t[0]=max;
}
void main()
{
char str[80];
printf("Enter a string:");gets(str);
printf("/nThe original string:");
puts(str);
proc(str);
printf("/nThe string after moving:");
puts(str);printf("/n/n");
}
填空题以下程序运行后的输出结果是{{U}} (6) {{/U}}。
#include<stdio.h>
main()
{int a=200,b=010;
printf("%d%d/n",a,b);
}
填空题以下程序段中,错误的行号是{{U}} 【10】 {{/U}}。
① #include <stdio.h>
② main()
③ { char str[14];str[]={"I love China!"};
④ printf("%s",str);
⑤ }
填空题给定程序中fun函数的功能是:将n个无序整数从小到大排序。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
#include<stdlib.h>
void fun(int n,int*a)
{int i,j,p,t;
for(j=0;j<n-1;j++)
{p=j;
/**********found**********/
for(i=j+1;i<n-1;i++)
if(a[p]>a[i])
/**********found**********/
t=i;
if(p!=j)
{t=a[j];a[j]=a[p];a[p]=t;}
}
}
void putarr(int n,int*z)
{int i;
for(i=1;i<=n;i++,z++)
{printf("%4d",*z);
if(!(i%10))printf("/n");
}printf("/n");
}
main()
{int aa[20]={9,3,0,4,1,2,5,6,8,10,7},n=11;
printf("/n/nBefore sorting %d numbers:/n",n);
putarr(n,aa);
fun(n,aa);
printf("/nAfter sorting %d numbers:/n",n);
putarr(n,aa);
}
填空题以下函数用以求x的y次方。补足所缺语句。 Double fun(double x,int y) int i;double z=1; for(i=1;i 【8】 ;i++) z= 【9】 ; return z;
填空题下面程序的输出是{{U}} 【6】 {{/U}}。
main()
{int arr[10],i,k=0;
for(i=0;i<10;i++)
arr[i=i;]
for(1;i<4;i++)
k+=arr[i]+i;
printf("%d/n",k);}
填空题下面程序执行后k的值为{{U}} 【6】 {{/U}}。
int a=1,b=2,c=3,d=4,k;
k=a>b? a: c>d? c: d
填空题请补充函数fun(char *s),该函数的功能是把字符串中的内容逆置。 例如:字符串中原有的字符串为abcde,则调用该函数后,串中的内容变为edcba。 注意;部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: $include<string.h> #include<conio.h> #include<stdio.h> #define N 81 void fun(char*s) int i=0,t,n=strlen(s); for(; 【1】 ;i++) t=*(s+i); 【2】 ; 【3】 ; main() char a[N]; clrscr(); printf("Enter a string:"); gets(a); printf("The original string is:"); puts(a); fun(a); printf("/n"); printf("The string after modified:"); puts(a);
填空题一棵二叉树中共有80个叶子结点与10个度为1的结点,则该二叉树中的总结点数为 【1】 。
填空题设有以下程序: main() int a, b, k=4, m=8, *p1=&. k, *p2=&m; a==&m; b=(*p1)/(*p2)+7; printf("a=%d/n", a); printf("b=%d/n", b); 执行该程序后,a的值为______,b的值为______。
填空题以下程序的输出的结果是______。
int x=3;
main()
{ int i;
for (i=1;i<x;i++) incre();
}
incre()
{ staic int x=1;
x*=x+1;
printf("%d",x);
}
填空题以下函数rotate的功能是:将a所指N行N列的二维数组中的最后一行放到b所指二维数组的第0列中,把a所指二维数组中的第0行放到b所指二维数组的最后一列中,b所指二维数组中的其他数据不变。
#define N 4
void rotate(int a[][N],int b[][N]
{int i,j;
for(i=0;i<N;i++)
{b[i][N-1]={{U}} 【19】 {{/U}};{{U}} 【20】 {{/U}}=a[N-1][i];}
}
填空题在Windows环境下,可以利用单击、双击、拖动这三种鼠标操作之一的 【4】 操作实现窗口的移动。
填空题下面程序的功能是将一个字符串str的内容倒序,请填空。 #inelude <stdio.h> #include <strins.h> main() int i,j,______; charstr[]="1234567"; for(i=0,j=strlen(str)______;i<j; i++,j--) k=str[i];str[i]=str[j];str[j]=k; printf("%s/n",str);
填空题存储结构的4种基本类型分别是顺序、链式、索引和{{U}} 【1】 {{/U}}。
填空题函数de1ete(s,i,n)的作用是从字符串s中删除从笫i个字符开始的n个字符,请填空。
void de1ete(chars[],int i,int n)
{ int j,k,length=O;
whi1e(s[length])
{{U}}【11】 {{/U}}
-i;
j=i;
}
if({{U}} 【12】 {{/U}})
{ k=i+n;
if(i+n<=length)
whi1e(k<length)
s[j++]=s[k++];
s[j]='/0; }
填空题以下程序运行结果是 【12】 。 #include<stdio.h> long func(int x) long p; if(x==0‖x==1)return(2); p=x*func(x-1); return(p); main() printf("%d/n",func(4));
填空题strcmp函数的功能是 【17】 。
填空题下面程序的输出结果是{{U}} {{U}} {{/U}}{{/U}}。
main( )
{ int i=3,j=2;
char * a="DCBA";
printf("%c%c/n",a[i],a[j])
}
填空题以下程序的运行结果是 【10】 。 # include<string.h> char *ss(char *s) return s+strlen(s)/2; main() char *p,*str="abcdefgh"; p=ss(str);printf("%s/n",p);
