以下函数按每行8个输出数组中的数据:void fun(int *w,int n){ int i; for(i=0;i<n

题目
单选题
以下函数按每行8个输出数组中的数据:void fun(int *w,int n){ int i; for(i=0;i
A

if(i/8==0) printf();

B

if(i/8==0)continue;

C

if(i%8==0) printf();

D

if(i%8==0)continue;

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

函数 void fun(float *sn, int n)的功能是:根据以下公式计算S,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。请填空。

void fun( float *sn, int n)

{ float s=0.0, w, f=-1.0;

int i=0;

for(i=0; i<=n; i++)

{ f=( )* f;

w=f/(2*i+1);

s+=w; }

( )=s;}


正确答案:
-1;*sn

第2题:

请补充函数fun(),该函数的功能是把数组bb中的数按从小到大的排列(数组的值及元素个数从土函数中输入)。

例如,输入2 3 5 4 1,结果为1 2 3 4 5。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun()吧的横线上填入所编写的若干表达式或语句。

试题程序:

include<stdio. h>

define N 100

void fun(int bb[], int n)

{

int i,j,t;

for (i=0;【 】;i++)

for(j=0;【 】;j++)

if(bb[j]>bb[j+1] )

{

t=bb[j];

bb [j]=bb [j+1];

bb[j+1]=t;

}

}

main()

{

int i=0, n=0;

int bb[N];

clrscr ();

printf("\nInput n: \n");

scanf ("%d", &n);

printf ("\nInput data: \n");

while (i<n)

{

printf ("bb [%d] =", i);

scanf ("%d", &bb [i]);

i++;

}

fun (bb, n);

printf("\n*** the result ***\n");

for (i=0; i<n; i++ )

printf ( "%4d'', bb [i]);

}


正确答案:in jn-1
in jn-1 解析:第一空:本题采用冒泡法进行排序。冒泡法的思路是:如果对n个数从小到大排序,则要进行n轮比较,在每一轮比较中要进行n-1次两两比较。所谓两两比较就是从头到尾依次将相邻两个数进行比较并将其中大的数放在后面,即两两比较后这两个数要形成题中所要求的顺序。理解了冒泡法的思路,则此空应填in。

第3题:

以下程序中函数 fun 的功能是:统计 person 所指结构体数组中所有性别 (sex) 为 M 的记录的个数 , 存入变量 n 中,并做为函数值返回。请填空:

#include <stdio.h>

#define N 3

typedef struct

{ int num;char nam[10]; char sex;} SS;

int fun(SS person[])

{ int i,n=0;

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

if( 【 14 】 =='M') n++;

return n;

}

main()

{ SS W[N]={{1, "AA", 'F'},{2, "BB",'M'},{3,"CC", 'M'}}; int n;

n=fun(W); printf("n=%d\n",n);

}


正确答案:

第4题:

请补充函数fun(),该函数的功能是把数组aa中的偶数元素按原来的先后顺序放在原数组后面。

例如,输入“33,67,42,58,25,76,85,16,41,56”,输出结果“33,67,25,85,41,42,58,76,16,56”。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

试题程序:

define N 10

void fun (int aa [] )

{

int i, j=0,k=0;

int bb [N];

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

{

if (【 】)

bb [k++] =aa [i];

else

aa [ j ++ ] =aa [i];

}

for(i=0;【 】;i++,j++)

aa[j] =bb [i];

}

main ( )

{

int i;

int aa[N]={33, 67,42,58,25, 76, 85, 16,

41,56};

clrscr ();

printf("\n*** original list ***\n");

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

printf ("%4d", aa [i] );

fun (aa);

printf("\n*** new list ***\n ");

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

printf ("%4d", aa [i] );

}


正确答案:aa[i]%2==0 ik
aa[i]%2==0 ik 解析:第一空:如果一个数对2求余,结果为0;则这个数为偶数,就把这个数先暂时存在数组bb中。否则这个数为奇数,就存在数组aa中。第二空:最后,将数组bb中的偶数都拷贝到数组aa中奇数的后面。变量k记录了原数组aa中偶数的个数,所以for循环的条件是ik。

第5题:

(28)以下函数按每行8个输出数组中的数据

void fun( int *w,int n)

{ int i;

for(i=0;i<n;i++)

{________

printf(“%d”,w);

}

printf(“\n”);

}

下划线处应填入的语句是

A)if(i/8==0)print(“\n”); B) if(i/8==0)continue;

C) if(i%8==0)print(“\n”); D) if(i%8==0)continue;


正确答案:C

第6题:

有以下程序:#define N 20fun(int a[],int n,int m){ int i; for(i=m;i>n;i--)a[i+1]=a[i]; return m;}void main(){ int i,a[N]={1,2,3,4,5,6,7,8,9,10}; fun(a,0,N/2); for(i=0;i<5;i++)printf("%d",a[i]);}程序运行后的输出结果是( )。A.10234 B.12344 C.12334 D.12234


正确答案:D
函数的功能是将某个间隔内的数据向后移动一位,m=5,将a[5]赋给a[6],a[4]赋给a[5],……;a[1]赋给a[2],最后i--,i=0,不满足i>0,退出循环,所以a[0],a[1]的值不变。

第7题:

请编写函数fun(),该函数的功能是将M行N列的二维数组中的数据,按列的顺序依次放到一维数组中。

例如:二维数组中的数据为

33333333

44444444

55555555

则一维数组中的内容应是

334455334455334455334455。

注意:部分源程序以存在文件test_2.cpp中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

文件test39_2.cpp的内容如下:

include<stdio.h>

include<iostream.h>

void fun(int(*s) [10],int *b, int *n,int mm,int nn)

{

}

void main( )

{

int w[10][10]={{33,33,33,33},{44,44,44,44},{55,55,55,55}},i,j;

int a[100]={0}, n=0;

cout<<"The matrix:\n"

for(i=0; i<3; i++)

{

for(j=0; j<4; j++

cout<<w[i] [j];

cout<<endl;

}

fun(w, a, &n, 3, 4);

cout<<"The A array:\n";

for(i=0; i<n; i++)

cout<<a[i];

cout<<"\n\n";

}


正确答案:void fun (int(*s)[10]int *b int *n int mm int nn) { int ij; for(j=0;jnn;j++) for(i=0;imm;i++) {b[*n]=*(*(s+i)+j);*n=*n+1; } }
void fun (int(*s)[10],int *b, int *n, int mm, int nn) { int i,j; for(j=0;jnn;j++) for(i=0;imm;i++) {b[*n]=*(*(s+i)+j);*n=*n+1; } } 解析:一个二维数组的存储可以理解为按行进行存储的—个—维数组,但本题中的二维数组要求按列进行存储。根据在主函数中的调用情况,可以看出,指针数组s[10]实质上是用来存放二维数组中各行的首地址,b是用来存放最终二维数组按列处理完毕后的一个一维数组,第3个参数之所以要用“&n”,目的是为了能在函数中直接改变其值。

第8题:

以下函数按每行 8 个输出数组中的数据

void fun(int *w,int n)

{ int i;

for(i=0;i<n;i++)

{ ____________

printf("%d ",w[i]);

}

printf("\n");

}

下划线出应填入的语句是

A)if(i/8==0) printf("\n");

B)if(i/8==0) continue;

C)if(i%8==0) printf("\n");

D)if(i%8==0) continue;


正确答案:C

第9题:

已知a所指的数组中有N个元素。。函数fun的功能是,将下标k(k>0)开始的后续

元素全部向前移动一个位置填空。

void fun(int a[N],int k)

{int i:

for(i=k;i ]=—a[i];

}


正确答案:i--1
i--1

第10题:

以下fun函数的功能是:找出具有N个元素的一维数组中的最小值,并作为函数值返回,请填空。(设N己定义)

int fun(int x[N])

{int i,k=0

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

if(x[i]<x[k])k=_____;

return x[k];

}


正确答案:i
i 解析:循环语句依次查找数组的元素,下标从0到N-1,当x[i]的值小于k时,记录i值即此元素的下标,然后再将其余元素与新的k元素比较,最终求得最小值。所以填i。

更多相关问题