#include <stdio.h>
void swap(int *p, int *q)
{
int *t;
*t = *p;
*p = *q;
*q = *t;
}
main()
{
int i=10, j=20,*a=&i,*b=&j;
swap(a,b);
printf(i=%d j=%d,i,j);
}
#include <stdio.h>
void swap(int *p, int *q)
{
int t;
t = *p;
*p = *q;
*q = t;
}
main()
{
int i=10,j=20,*a=&i,*b=&j;
swap(a,b);
printf(i=%d j=%d,i,j);
}
#include <stdio.h>
#include <stdlib.h>
void swap(int *p, int *q)
{
int *t;
t = (int *)malloc(sizeof(int));
*t = *p;
*p = *q;
*q = *t;
free(t);
}
main()
{
int i=10,j=20;
swap(&i,&j);
printf(i=%d j=%d,i,j);
}
#include <stdio.h>
void swap( int *p, int *q)
{
int t;
t = *p;
*p = *q;
*q = t;
}
main()
{
int i=10,j=20,*x=&i,*y=&j;
swap(x,y);
printf(i=%d j=%d,i,j);
}
第1题:
以下程序中,select函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标,请填空。#define N 3#define M 3select(int a[N][M],int *n){int i,j,row=0,colum=0;for(i=0;i<N;i++)for(j=0;j<M;j++)if(a[i][j]>a[row][colum]){row=i;colum=j;}*n=;return();}
第2题:
下列程序定义了NXN的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N]),该函数的功能是使数组右上半三角元素中的值全部置成0。例如a数组中的值为
a=4 5 6
1 7 9
3 2 6,
则返回主程序后a数组中的值应为
0 0 0
1 0 0
3 2 0
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include<conio.h>
include<stdio.h>
include<stdlib.h>
define N 5
int fun(int a[ ][N])
{
}
main()
{
int a[N][N],i,j;
clrscr( );
printf("*****The array*****\n");
for(i=0;i<N;i++)
/*产生—个随机的5*5矩阵*/
{for(j=0;j<N;j++)
{a[i][j]=rand( )%10;
printf (“%4d”,a[i][j]);
}
printf(“\n”);
}
fun(a);
printf(“THE RESULT\n”);
for(i=0;i<N;i++)
{ for(j=0;i<N;j++)
printf(“%4d”,a[i][j]);
printf(“\n”);
}
}
第3题:
若各选项中所用变量已正确定义,函数 fun 中通过 return 语句返回一个函数值,以下选项中错误的程序是
A)
main()
{ …… x=fun(2,10); …… }
float fun(int a,int b){ …… }
B)
float fun(int a,int b){ …… }
main()
{ …… x=fun(i,j); …… }
C)
float fun(int,int);
main()
{ …… x=fun(2,10); …… }
float fun(int a,int b) { …… }
D)
main()
{ float fun(int i,int j);
…… x=fun(i,j); …… }
float fun(int a,int b){ …… }
第4题:
已知i、j、k为iht型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是 ______。
A.scanf("%d %d %d",&i,&j,&k);
B.scanf("%d,%d,&d",&i,&i,&k);
C.scanf("%2d %2d %2d",&i,&j,&k);
D.scanf("i=%d,j=%d,k=%d",&i,&j,&k);
第5题:
已知i、j、k为整型变量,若从键盘输入1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是( )。
A.scanf("%2d%2d%2d",&i,&j,&k);
B.scanf("%d %d %d",&i,&j,&k);
C.scanf("%d,%d,%d",&i,&j,&k);
D.scanf("i=%d,j=%d,k=%d",&i,&j,&k);
第6题:
请补充函数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]);
}
第7题:
请补充main函数,该函数的功能是:输出一个3×3的矩阵,要求必须使用行指针表示输出变量。
注意;部分源程序给出如下.
请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。
试题程序:
include<s tdio. h>
main()
{
static int array[3] [3]={{9,8,7}, {6,5,
4}, (3,2,1}};
iht (*p) [3],j,i;
p=【 】
clrscr ();
for (i=0; i<3; i++)
{
printf (" \n\n" );
for (j=0; j<3; j++)
printf("%4d",【 】);
}
}
第8题:
A、若只在主函数中对函数f进行说明,则只能在主函数中调用函数f
B、若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以调用函数f
C、对于以上程序,编译时系统会提示出错信息:提示对对f函数重复说明
D、函数f无返回值,所以可用void将其类型定义为无值型
第9题:
程序定义了N×N的二维数组,并在主函数中自动赋值。
请编写函数fun(int a[][N],int n),该函数的功能是使数组左下半三角元素中的值加上n。
例如:若n的值为3,a数组中的值为
a=2 5 4
1 6 9
5 3 7
则返回主程序后a数组中的值应为
5 5 4
4 9 9
8 6 10
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数full的花括号中填入所编写的若干语句。
试题程序:
include <stdio.h>
include <conio.h>
include <stdlib.h>
define N 5
fun(int a[][N],int n)
{
}
main()
{
int a[N][N],n,i,j;
clrscr();
printf("***** The array *****\n");
for(i=0;i<N;i++)
/*产生—个随机5*5矩阵*/
{
for(j=0;j<N;j++)
{
a[i][j]=rand()%10;
printf("%4d",a[i][j]);
}
printf("\n");
}
do
n=rand()%10;
/*产生一个小于5的随机数n*/
while(n>=5);
printf("n=%4d\n",n);
fun(a,n);
printf("*****THE RESULT*****\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;i++)
printf("%4d",a[i][j]);
printf("\n");
}
}
第10题:
下列程序定义了N×N的二维数组,并在主函数中赋值。请编写函数fun(),函数的功能是:求出数组周边元素的平均值并作为函数值返回给主函数中的s。例如:若a数组中的值为
a= 0 1 2 7 9
1 9 7 4 5
2 3 8 3 1
4 5 6 8 2
5 9 1 4 1
则返回土程序后s的值应为3.375。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的仟何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include <stdio.h>
include<conio.h>
include<stdlib.h>
define N 5
double fun (int w[] [N])
{
}
main()
{
int a[N] [N]={0,1,2,7,9,1,9,7,4,5,2,
3,8,3,1,4,5,6,8,2,5,9,1,4,1};
int i, j;
double s;
clrscr();
printf("*****The array*****\n ");
for (i=0; i<N; i++)
{ for (j=0;j<N;i++)
{printf("%4d ",a[i] [j]);}
printf("\n ");
}
s=fun(a);
printf("*****THE RESULT*****\n ");
printf("The sum is : %lf\n ",s);
}