12、以下程序中函数Reverse的功能是对数组a中的前一半元素逆序、后一半元素逆序,再将逆序后的前、后两部分数据位置交换。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 例如:主程序中数组b中的元素为{16,22,13,41,50,62,27,18,9,10},调用函数Reverse后,数组b中元素变为 {10 9 18 27 62 50 41 13 22 16} include <stdio.h> void Reverse(int a[],int n) { int i,t; for(i=0;________;i++) { t=a[i]; __________; a[n-i]=t; } } int main() { int b[10]={16,22,13,41,50,62,27,18,9,10}; int i,s=0; __________; for(i=0;i<10;i++) { printf("%4d",b[i]); } r
A.第5行: i<=n/2 第8行: a[i]=a[n-i] 第17行: Reverse(b,9)
B.第5行: i<=n 第8行: a[n-i]=a[i] 第17行: Reverse(b,9)
C.第5行: i<=n/2 第8行: a[n]=a[i] 第17行: Reverse(9,b)
D.第5行: i<=n/2 第8行: a[i]=a[n] 第17行: Reverse(b,9)
时间:2024-03-30 13:33:46
-
以下函数,其功能是求一维数组中地址值最大的那个元素的值。03a13130943c754e5dccae0c59270487.jpg
-
以下程序段的功能是:用gets()函数输入一个字符串,将其存储到str数组中,然后使用puts()函数输出str中的字符串。(N是符号常量)char str[N];gets(str);puts(str);
-
已有以下数组定义和f函数调用语句,则在f函数的说明中,对形参数组array的错误定义方式为( ) 。int a[3][4];f(a);
-
请编写程序实现以下功能。将整形数组a [2][3]={{1,2,3},{4,5,6}}中的 行和列的元素互换后存到另一个二维数组 b 中。
-
以下程序调用findmax函数返回数组中的最大值: findmax(int*a,int n) { int*p,*s; for(p=a,s=a;p-a<n;p++) if(______)s=p; return(*s); } main() {int x[5]={12,21,13,6,18}; printf("%d&92;n",findmax(x,5)); } 在下划线处应填入的是( )。
A.p>s
B.*p>*s
C.a[p]>a[s]
D.p-a>p-s
-
以下程序的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。
例如,若一维数组中的数据是:
2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10
删除后,数组中的内容应该是:
2 3 4 5 6 7 8 9 10。
请填空。
include
define N 80
int fun(int a[], int n)
{ int i,j=1;
for(i=1;i
if(a[j-1]【19】a[i])
a[j++]=a[i];
【20】;
}
main()
{ int a[N]={ 2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10}, i, n=19;
printf("The original data :\n");
for(i=0; i
for(i=0; i
}
-
以下程序是一个函数,功能是求二阶矩阵(m行n列矩阵)的所有靠外侧的各元素值之和。(本程序中二阶矩阵用一维数组来表示。)
例如,矩阵为:
3 0 0 3
2 5 7 3
1 0 4 2
则所有靠外侧的各元素值之和为3+0+0+3+2+3+1+0+4+2=18。
add(int m,int n,int arr[])
{ int i,j,sum=0;
for(i=0;i
for(j=0;j<N;J++)
sum=sum+ (7) ;
for(j=0;j
for(i=1; (8) ;i++)
sum=sum+arr[i*n+j];
return(sum);
}
-
已有以下数组定义和f函数调用语句,则在f函数的说明中,对形参数组array的正确定义方式为()int a[3][4];f(a);
A.f(int array[][6])
B.f(int array[3][])
C.f(int array[][4])
D.f(int array[2][5])
-
分析下面的函数能否实现“返回一个数组中所有元素被第一个元素除的结果”的功能。代码中存在怎样的错误隐患?请编写正确的程序。
<img src='https://img2.soutiyun.com/ask/2020-12-04/975921402079112.png' />
-
以下程序调用函数,用选择法对数组中的值按降序排序,请...
以下程序调用函数,用选择法对数组中的值按降序排序,请完成程序。 include <iostream> using namespace std; void sortd(,int n) { int i, j, p, t; for(i=0; i <n-1; i++) { ; for(j++) if(a[j]> a[p] ) p=j; if(p!=i) { t=a[i]; a[i]=a[p]; a[p]=t; } } } void main() { int a[10]; for(int i=0; i<10; i++) cin>>a[i]; sortd(a, 10); for(i=0; i<10; i++)> <<'\t'; }>
-
下面程序功能是:从键盘输入数组a的各个元素,并以每行5个数据的形式输出数组中的所有元素。请填空。 include下面程序功能是:从键盘输入数组a的各个元素,并以每行5个数据的形式输出数组中的所有元素。请填空。 include define N 20 main(); }
-
以下程序中函数Fun的功能是对b所指数组中的第m至第n个数据取累加和,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 include <stdio.h> Fun(________,int m,int n) { int i,s=0; for(______;i <n;i++) s="s+b[i];" return _______; } int main() { x,a[]="{1,2,3,4,5,6,7,8,9};" x="Fun(a,3,7);" printf("%d\n",x); 0;>
A.第2行: int b[] 第5行: i=m-1 第7行: s
B.第2行: int b[] 第5行: i=1 第7行: i
C.第2行: int b 第5行: i=0 第7行: s
D.第2行: int b[] 第5行: i=n-1 第7行: b[i]
-
补充程序Ccon052.C,使程序中的sort()函数用选择法对数组a中的m个元素从大到小排序。
<img src='https://img2.soutiyun.com/shangxueba/ask/17124001-17127000/17124857/372bd3393b16f02da2ca9026b44337d2.jpg' />
-
已知数据文件in.dat中存有300个四位数,并已调用读函数readDat把这些数存入数组a中,请编制一函数jsValue,其功能是:求出所有这些四位数是素数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序。最后maini函数调用写函数writeDat把数组b中的数输出到0ut.dat文件中。 例如:5591是素数,则该数满足条件存入数组b中,且个数cnt=cnt+1。 9812是非素数,则该数不满足条件忽略。 注意:部分源程序存在test.C文件中。 程序中已定义数组:a[300],b[300],已定义变量:cnt<img src='https://img2.soutiyun.com/ask/uploadfile/11181001-11184000/da340f983c934b426346b2adb655f305.jpg' />
-
若已定义,以下fun函数的功能是在循环中给数组a前4个数组元素依次赋1、2、3、4;在第二个循环中使a数组前4个元素中的值对称折叠,变成1、2、2、1。请填空。
fun(int a[])
{
int i;
for(i=1;i<=4;i++)______=i;
for(i=0;i<2;i++)______=a[i];
}
-
以下程序中,函数 sumColumM的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。
define M 2
define N 4
void SumColumMin(int a[M][N],int *sum)
{ int i,j,k,s=0;
for(i=0;i〈N;i++)
{ k=0;
for(j=1;j<M;j++)
if(a[k][i]>a[j][i])k=j;
s+=【 】;
}
【 】 =s;
}
main()
{ int x[M][N]={3,2,5,1,4,1,8,3},s;
SumColumMin(【 】);
printf("%d\n",s);
}
-
函数RData实现从文件in.dat中读取一篇英文文章存入到字符串数组original中,请编写函数StrCharMove,其函数的功能是:以行为单位把字符串中所有字符的ASCII值右移4位,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组0riginal中,最后调用函数 WData,把结果0riginal输出到文件out.dat中。 原始数据文件存放的格式是:每行的宽度均小于80个字符(含标点符号和空格)。注意:部分程序已经给出。 请勿改动主函数main、读数据函数RData和输出数据函数WData的内容。<img src='https://img2.soutiyun.com/ask/uploadfile/11184001-11187000/08320aa167ce48ca12e0522a760a6179.jpg' /><img src='https://img2.soutiyun.com/ask/uploadfile/11184001-11187000/81606bab7a227a7a99cb03e2a0a9543d.jpg' />
-
以下程序调用findmax函数返回数组中的最大值findmax(int*a,int n){int*p,*s; for(p=a,s=a;p-a<n;
以下程序调用findmax函数返回数组中的最大值 findmax(int*a,int n) { int * p,* s; for(p=a,s=a;p-a<n;p++) if(_____)s=p; return(*s); } main() { int x[5]={12,21,13,6,18}; printf(“%d\n”,findmax(x,5)); } 在下划线处应填入的是
A.p>s
B.*p>*s
C.a[p]>a[s]
D.p-a>p-s
-
以下程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。请填空。
main()
{int x[10],a[9],I;
for (i=0;i<10;i++)
scanf(“%d”,&x[i]);
for(i=__;i<10;i++)
a[i-1]=x[i]+ x[i-1] ;
for(i=0;i<9;i++)
printf(“%d”,a[i]);
printf(“\n”);
-
程序填空题: 以下函数功能是求一维数组元素最大值,p是一维数组指针,n是数组长度。请将【】替换为正确的代码。 int pv_max(); return max; }
-
打开程序Cprog102.C,完成其中的fun(x)函数,该函数的功能是:将已按升序排列好的数组a和已按降序排列好的数组b中的所有元素按降序存入数组c中。
<img src='https://img2.soutiyun.com/shangxueba/ask/17124001-17127000/17124777/da2972bbadd674c7457e5e5c0c5f8ebc.jpg' />
-
以下程序的功能是分别测量字符数组及数组中存放的字符串的长度,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 char a[]="abcdefg",b[10]="abcdefg"; _________________________; /*测量字符数组a,b的长度,并输出*/ _________________________; /*测量字符数组a,b中存放的字符串的长度,并输出*/
A.printf("%d %dn",sizeof(a) ,sizeof(b)) printf("%d %dn",strlen(a) ,strlen(b))
B.printf("%d %dn",strlen(a) ,strlen(b)) printf("%d %dn",sizeof(a) ,sizeof(b))
C.printf("%d %dn",sizeof(&a) ,sizeof(&b)) printf("%d %dn",strlen(&a) ,strlen(&b))
D.printf("%d %dn",sizeof(*a) ,sizeof(*b)) printf("%d %dn",strlen(*a) ,strlen(*b))
-
下面程序功能是:从键盘输入数组a的各个元素,并以每行5个数据的形式输出数组中的所有元素。请填空。
include
define N 20
main()
{ int a[N],i;
for(i=0;i<N;i++)
______;
for(i=0;i<N;i++)
{if(______)______;
printf("%d",a[i]);
}
printf("\n");
}
-
下列函数invert()的功能是:将数组a中n个元素逆序存放;请填空。
include
define N 10
void invert(int a[],int n)
{ int i=0,j=n-1-i;
while(______)
{int t;
t=a[i]______;a[j]=t;
i++;
______;
}
}