10、在考生文件夹下,要求程序PROG.C的功能是: 求[m,n]之间既不能被7整除也不能被5整除的整数之和,m和n的值由键盘输入。
例如,如果m和n的值分别为10和20,则计算结果为:106。
#include \ int fun(int m,int n) {
/***********begin***********/
int i,s=0;
for(i=m;i<=n;i++)
if(i%5!=0 && i%7!=0)
s=s+i;
return s;
/************end************/ }
void main() {
void NONO( );//函数声明 int s; int m,n;
printf(\ n:\\n\ scanf(\ %d\ s=fun(m,n);
printf(\ NONO( ); }
void NONO( ) { FILE *fr,*fw; int i,x,y;
fr=fopen(\ fw=fopen(\ for(i=1;i<=5;i++)
{ fscanf(fr,\
fprintf(fw,\ fclose(fr); fclose(fw); }
11、在考生文件夹下,给定程序PROG.C的功能是: 按下面的公式求sum的值。
sum = 1 - 2 + 3 - 4 + 5 - 6 + …… + 99 - 100
#include \ #include \
void main() {
void NONO( int x);//函数声明 int sum;
/***********begin***********/
int i,j=1;
sum=0;
for(i=1;i<=100;i++)
{
sum=sum+i*j;
j=-j;
}
/************end************/ printf(\ NONO(sum); }
void NONO( int x) { FILE *f;
f = fopen(\T\ fprintf(f,\ fclose(f); }
- 33 -
12、在考生文件夹下,要求程序PROG.C的功能是: 求两个整数m和n的最大公约数,m和n的值由键盘输入。
#include \ int fun(int m,int n) {
/***********begin***********/ int t; t=n%m; if(t!=0) fun(n,t); return m;
/************end************/ }
void main() {
void NONO( );//函数声明 int m,n,i,t;
printf(\ scanf(\ if(m>n) { t=m; m=n; n=t; }
printf(\Highest Common Divisor of %d
and %d is %d\\n\
NONO( ); }
void NONO( ) { FILE *fr,*fw; int i,m,n;
fr=fopen(\ fw=fopen(\ for(i=1;i<=5;i++)
{ fscanf(fr,\
fprintf(fw,\%d is %d\\n\
fclose(fr); fclose(fw); }
13、在考生目录下,要求程序PROG.C的功能是:将所有的水仙花数保存到一维数组a中。 (所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。
例如:153=1*1*1+5*5*5+3*3*3)
#include
void NONO( );//函数声明 int a[10]={0},i;
/***********begin***********/ int a,b,c,j=0; for(i=100;i<=999;i++) {c=i; a=i/100; b=(i/10); if(i==a*a*a+b*b*b+c*c*c) {a[j]=i;j++;} }
/************end************/ printf(\水仙花数为:\\n\ for(i=0;i<10;i++)
if(a[i]!=0) printf(\ NONO(a ); }
void NONO(int a[]) { FILE *fw; int i;
fw=fopen(\ for(i=0;i<10;i++)
if(a[i]!=0) fprintf(fw,\ fclose(fw); }
- 34 -
14、在考生文件夹下,要求程序PROG.C的功能是: 求3*3矩阵的最大值并输出。 例如,当矩阵为:
1 2 3 4 9 5 7 8 6 则最大值为:9
#include
/***********begin***********/
int i,j,s=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(s s=a[i][j]; return s; /************end************/ } void main() { void NONO( );//函数声明 int a[3][3]={1,2,3,4,9,5,7,8,6}; int i,j,max; printf(\ for(i=0;i<3;i++) { for(j=0;j<3;j++) printf(\ printf(\ } max=fun(a); printf(\ NONO( ); } void NONO( ) { FILE *fr,*fw; int i,j,k,m,a[3][3]; fr=fopen(\ fw=fopen(\T\ for(i=1;i<=5;i++) { for(j=0;j<3;j++) for(k=0;k<3;k++) { fscanf(fr,\ fprintf(fw,\ fprintf(fw,\ fclose(fr); fclose(fw); } 15、 在考生文件夹下,要求程序PROG.C的功能是:求一维数组a中所有元素的平均值。 部分源程序存在文件PROG.C中,请将计算结果存入变量av中。 #include \ #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***********/ int i,s=0; for(i=0;i<20;i++) s=s+a[i]; av=s/N; /************end************/ printf(\ f=fopen(\ fprintf(f,\ fclose(f); } - 35 -