2016C语言理论上机考试程序设计题05
C语言理论上机考试选择题部分
13、在考生目录下,要求程序PROG.C的功能是:将所有的水仙花数保存到一维数组a中。
(所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。
例如:153=1*1*1+5*5*5+3*3*3)
#include
void main()
{
void NONO( );//函数声明
int a[10]={0},i;
/***********begin***********/
/************end************/
printf("水仙花数为:\n");
for(i=0;i<10;i++)
if(a[i]!=0) printf("%d\n",a[i]);
NONO(a );
}
void NONO(int a[])
{ FILE *fw;
int i;
fw=fopen("PROGOUT.DAT","w");
for(i=0;i<10;i++)
if(a[i]!=0) fprintf(fw,"%d\n",a[i]);
fclose(fw);
}
14、在考生文件夹下,要求程序PROG.C的功能是:
求3*3矩阵的最大值并输出。
例如,当矩阵为:
1 2 3
4 9 5
7 8 6
则最大值为:9
#include
int fun(int a[3][3])
{
/***********begin***********/
/************end************/
}
void main()
{
void NONO( );//函数声明
int a[3][3]={1,2,3,4,9,5,7,8,6};
int i,j,max;
printf("array is:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%5d",a[i][j]);
printf("\n");
}
max=fun(a);
printf("Result is: %d\n",max);
NONO( );
}
void NONO( )
{ FILE *fr,*fw;
int i,j,k,m,a[3][3];
fr=fopen("PROGIN.DAT","r");
fw=fopen("PROGOUT.DAT","w");
for(i=1;i<=5;i++)
{ for(j=0;j<3;j++)
for(k=0;k<3;k++)
{ fscanf(fr,"%d",&a[j][k]);
fprintf(fw,"%4d",a[j][k]);}
fprintf(fw,"Max = %d\n",fun(a));}
fclose(fr);
fclose(fw);
}
15、 在考生文件夹下,要求程序PROG.C的功能是:求一维数组a中所有元素的平均值。
部分源程序存在文件PROG.C中,请将计算结果存入变量av中。
#include "stdio.h"
#define N 20
void main()
{ int a[N]={1,20,8,14,7,12,2,19,19,15,13,14,20,10,16,
20,7,6,12,12 };
double av;
FILE *f;
/***********begin***********/
/************end************/
printf("Aver=%f\n",av);
f=fopen("PROGOUT.DAT","w");
fprintf(f,"Average = %.2f\n",av);
fclose(f);
}
2
int a,b,c,j=0;
for(i=100;i<=999;i++)
{c=i%10;
a=i/100;
b=(i/10)%10;
if(i==a*a*a+b*b*b+c*c*c)
{a[j]=i;j++;}
}
int i,s=0;
for(i=0;i<20;i+