更多"下列程序中函数reverse( )的功能是将a所指数组中的内容进行逆置"的相关试题:
[单项选择]下列程序中函数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
[单项选择]以下程序中函数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
[单项选择]下列程序中函数sort( )的功能是对数组a中的数据进行由大到小的排序。
#include<stdio.h>
voidsort(int a[],int n)
int i,j,t;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]<a[j])
t=a[i];a[i]=a[j];a[j]=t;
main( )
int a [10]=1,2,3,4,5,6,7,8,9,10,i;
sort(&a[1],7) ;
for(i:0;i<10;i++)printf("%d,",a[i]);
程序运行后的输出结果是( )。
A. 1,2,3,4,5,6,7,8,9,10,
B. 10,9,8,7,6,5,4,3,2,1,
C. 1,8,7,6,5,4,3,2,9,10,
D. 1,2,10,9,8,7,6,5,4,3,
[单项选择]以下程序中函数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. baca
[简答题]
给定程序中,函数fun的功能是:判定形参a所指的N×N(规定N为奇数)的矩阵是否是"幻方",若是,函数返回值为1; 不是,函数返回值为0。"幻方"的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。
例如,以下3×3的矩阵就是一个"幻方":
4 9 2
3 5 7
8 1 6
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
#define N 3
int fun(int (*a)[N])
{ int i,j,m1,m2,row,colum;
m1=m2=0;
for(i=0; i{ j=N-i-1; m1+=a[i][i]; m2+=a[i][j]; }
if(m1!=m2) return 0;
for(i=0; irow=colum= __1__;
for(j=0; j{ row+=a[i][j]; colum+=a[j][i]; }
if( (row!=colum) __2__ (row!=m1) ) return 0;
}
return __3__;
}
main( )
{ int x[N][N],i,j;
printf("Enter number for array:/n");
for(i=0; ifor(j=0; jprintf("Array:/n");
for(i=0; i{ for(j=0; jprintf("/n");
}
if(fun(x)) printf(&qu
[填空题]下列程序中的函数strcpy2 ( )实现字符串两次复制,即将t所指字符串复制两次到s 所指内存空间中,合并形成一个新字符串。例如,若t所指字符串为:efgh,调用strcpy2后,s所指字符串为: efghefgh。请填空。
#include <stdio.h>
#include <string.h>
viod strcpy2(char *s,char *t)
char
while (*s++=t++);
s=______:
while(______=*p++);
main( )
char str1[100]="abcd", str2[]="efgh";
strcpy2 (str1,str2); printf("%s/n",str1);
[简答题]给定程序MODI1.C中函数fun的功能是: 将s所指字符串中的字母转换为按字母序列的后续字母(但Z转换为A,z转换为a),其它字符不变。请改正函数fun中指定部位的错误, 使它能得出正确的结果。
注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构!
给定源程序:
#include
#include
void fun (char *s)
{
while(*s!=’@’)
{ if(*s>=’A’ & *s<=’Z’ || *s>=’a’ && *s<=’z’)
{ if(*s==’Z’) *s=’A’;
else if(*s==’z’) *s=’a’;
else *s += 1;
}
(*s)++;
}
}
main( )
{ char s[80];
printf("/n Enter a string with length < 80. :/n/n "); gets(s);
printf("/n The string : /n/n "); puts(s);
fun ( s );
printf ("/n/n The Cords :/n/n "); puts(s);
}
[简答题]下列给定程序中,函数fun( )的功能是:将s所指字符串中的字母转换为按字母序列后续字母(但Z转换为A,z转换为a),其他字符不变。
请改正程序指定部位的错误,使它能得到正确结果。
[注意] 不要改动main函数,不得增行或删行,也不得更改程序的结构。
[试题源程序]
#include<stdio.h>
#include<ctype.h>
void fun(char *s)
/**********found**********/
while(*s!=’@’)
if(*s>=’A’ && *s<=’Z’ || *s>=’a’ && ’s<=’z’)
if(*s==’Z’)
*s=’A’;
else
if(*s==’z’)
*s=’a’;
else
*s+=1;
/**********found**********/
(*s)++;
void main( )
char s[80];
printf("/n Enter a string with length<80. :/n/n "); gets(s);
printf("/n The string:/n/n t");
puts(s);
fun(s);
printf ("/n/n The Cords: /n/n "); puts(s);
[简答题]给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去 除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回 所指变量。
例如,输入一个数:27638496,新的数:为739。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
void fun(unsigned long *n)
{ unsigned long x=0, i; int t;
i=1;
while(*n)
{ t=*n % __1__;
if(t%2!= __2__)
{ x=x+t*i; i=i*10; }
*n =*n /10;
}
*n=__3__;
}
main( )
{ unsigned long n=-1;
while(n>99999999||n<0)
{ printf("Please input(0
[填空题]mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。请填空。
int mystrlen(char *str)
{ int i;
for(i=0; 【19】!=’/0’;i++);
return(【20】);
}
[填空题]以下函数 sstrcat( )的功能是实现字符串的连接,即将 t 所指字符串复制到 s 所指 字符串的尾部。例如:s 所指字符串为 abcd,t 所指字符串为 efgh,函数调用后
s 所指字符串为 abcdefgh。请填空。
#include
void sstrcat(char *s,char *t)
{ int n;
n=strlen(s);
while(*(s+n)=_________){s++; t++;}
}