更多"下列程序中函数reverse( )的功能是将a所指数组中的内容进行逆置"的相关试题:
[单项选择]下列程序中函数reverse( )的功能是将a所指数组中的内容进行逆置。
#include<stdio.h>
void reverse(int a[],int n)
int i,t;
for(i=0;i<n/2,i++)
t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;
main( )
int b[10]=1,2,3,4,5,6,7,8,9,10;int i,s=0;
reverse(b,10);
for(i=0;i<3;i++)s+=b[i];
printf("%d/n",s);
程序运行后的输出结果是( )。
A. 27
B. 6
C. 25
D. 30
[填空题]
给定程序中,函数fun的功能是:将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。
请在程序的下画线处填入正确的内容,并把下画线删除,使程序得出正确的结果。
[注意] 部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。
[试题源程序]
#include<stdio.h>
typedef struct
char name[10];
int age;
)STD;
STD fun(STD std[], int n)
STD max; int i;
/**********found**********/
max= (1) ;
for(i=1; i<n; i++)
/**********found**********/
if(max.age< (2) )
max=std[i];
return max;
main( )
STD std[5]="aaa", 17, "bbb", 16, "ccc", 18, "ddd", 17, "eee", 15;
STD max;
max=fun(std, 5);
printf("/nThe result: /n");
/**********found**********/
printf("/nName: %s, Age: %d/n", (3) , max.age);
[填空题]在给定程序中,函数fun的功能是:将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构。
文件BLANK1.C内容如下:
#include<stdio.h>
typedef struct
char name[10];
int age;
STD;
STD fun(STD std[],int n)
STD max;
int i;
/**********found**********/
max= (1) ;
for(i=1;i<n;i++)
/**********found**********/
if(max.age< (2) )max=std[i];
return max;
void main( )
STD std[5]="aaa",17,"bbb",16,"ccc",18,"ddd",17,"eee",15;
STD max;
max=fun(std,5);
printf("The result/n");
/***********found**********/
printf("Name:%s,Age:%d/n", (3) ,max.age);
[单项选择]下列程序中函数reverse( )的功能是将a所指数组中的内容进行逆置。
#include<stdio.h>
void reverse(int a[],iht n)
{ int i,t;
for(i=0;i<n/2;i++)
{ t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}
}
main( )
{ int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;
reverse(b,10) ;
for(i=0;i<3;i++)s+=b[i];
printf("%d/n",s);
}
程序运行后的输出结果是( )。
A. 27
B. 6
C. 25
D. 30
[简答题]下列给定程序中函数fun的功能是:统计substr所指的字符串在str所指的字符串中出现的次数。
例如,若字符串为aass 1kaaas,子字符串为as,则应输出2。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h>
int fun(char *str, char *substr)
{ int i, j, k, num=0;
/********** found**********/
for(i=0, str[i], i++)
for(j=i, k=0; substr[k]==str[j]; k++, j++)
/********** found**********/
If(substr[k+1]==’/0’)
{ num++;
break;
}
return num;
}
main( )
{
char str[80], substr[80];
printf("Input a string:");
gets(str);
printf("Input a substfing: ");
gets(substr);
printf("%d/n", fun(str, substr));
}
[填空题]下列给定的程序中,函数fun( )的功能是;将s所指字符串中出现的n所指字符串全部替换成t2所指字符串,所形成的新的字符串放在w所指的数组中。在此处,要求t1和t2所指字符串的长度相同。例如:当s所指字符串中所指的内容为 abcdabfab,t1所指字符串中的内容为ab,t2所指字符串中的内容为99时,结果在w所指的数组中的内容应为99cd99f99。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <conio.h>
#include <stdio.h>
#include <string.h>
/*************found**************/
int fun (char *s, char *t1, char *t2, char *w)
int i; char *p,*r,*a;
strcpy(w,s);
while (*w)
p=w; r=t1;
/*************found**************/
while (r)
if (*r= =*p) r++;p++;
else break;
if (*r= =’/0’)
a=w; r=t2;
/*************found**************/
while (*r)*a=*r;a++;r++
w+=strlen(t2);
else w++;
main( )
char s[100],t1[100],t2[100],w[100];
clrscr( );
printf("/nPlease enter string S: ");
scanf("%s",s);
[多项选择]下列给定程序中,函数fun的功能是:将s所指字符串的正序和反序进行连接,形成的新串放在t所指的数组中。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动mam函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<string.h>
/******************found*******************/
void fun(char s, char t)
int i, d;
d=strlen(s);
for(i=0; i<d; i++)
t[i]=s[i];
for(i=0; i<d; i++)
t[d+i]=s[d-1-i];
/******************found*******************/
t[2*d-1]=’/0’;
main( )
char s[100], t[100];
printf("nPlease enter string S:");
scanf("%s", s);
fun(s, t);
printf("/nThe result is: %s/n", t);
[简答题]
已知C源程序如下:
#include #include void reverse(char s[]){ int c,i,j; for(i=0,j=strlen(s)-1;i0){ if(number%16<10) s[i++]=number%16+0; else switch(number%16){ case 10:s[i++]=A;break; case 11:s[i++]=B;break; case 12:s[i++]=C;break; case 13:s[i++]=D;break; case 14:s[i++]=E;break; case 15:s[i++]=F;break; default:printf("Error");break; } number/=16; } s[i]=//0; reverse(s); } int main( ){ unsigned int number; int i=0; char s[50]; printf("%s","please input number://n"); scanf("%d",&number); getHex(number,s); i=0; while(s[i]) printf("%c",s[i++]); return 0; }
画出程序中所有函数的控制流程图;
[单项选择]以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址 #include <stdio.h> #include <string.h> char *scmp(char *s1, char *s2) { if(strcmp(s1,s2)<0) return(s1); else return(s2); } main( ) { int i; char string[20], str[3][20]; for(i=0;i<3;i++) gets(str[i]); strcpy(string,scmp(str[0],str[1])); /*库函数strcpy对字符串进行复制*/ strcpy(string,scmp(string,str[2])); printf("%s/n",string); } 若运行时依次输入:abcd、abba和abc三个字符串,则输出结果为()
A. abcd
B. abba
C. abc
D. abca
[单项选择]以下程序中函数scmp的功能是返回形参指针sl和s2所指字符串中较小字符串的首地址:
#include <stdio.h>
#include <string.h>
char *scmp (char *s1, char *s2)
if(strcmp(s1,s2)>0)
return(s1);
else return(s2);
void main( )
int i;char string[20], str[3][20];
for(i=0;i<3;i++) gets(str[i]);
strcpy(string,scmp(str[0],str[1]));/*库函数strcpy对字符串进行复制*/
strcpy(string,scmp(string,str[2]));
printf("%s/n",string);
若运行时依次输入abcd、abba和abc三个字符串,则输出结果为( )。
A. abcd
B. abba
C. abc
D. abca
[单项选择]以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址
#include <stdio.h>
#include <string.h>
char *scmp(char *s1, char *s2)
{ if(strcmp(s1,s2)<0)
return(s1);
else return(s2);
}
main( )
{ int i; char string[20], str[3][20];
for(i=0;i<3;i++) gets(str[i]);
strcpy(string,scmp(str[0],str[1])); /*库函数strcpy对字符串进行复制*/
strcpy(string,scmp(string,str[2]));
printf("%s/n",string);
}
若运行时依次输入:abcd、abba和abc三个字符串,则输出结果为( )。
A. abcd
B. abba
C. abc
D. abca