2016上c语言文件复习题

更新时间:2024-05-07 13:04:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1、已知文件dat2.dat中存放了500个三位整型数据。 要求:

1)将文件中的数据存入一个一维数组中。 2)编写函数int sxhs(int *p,int num) { }

求数组元素中 “水仙花数”的个数,并把该函数放在头文件Fnumber.h中以便在主函数中调用该函数。(“水仙花数”的含义是一个数的每个数位的立方和等于该数。例153=1^3+5^3+3^3。) 3)把“水仙花数”的个数显示到屏幕上,同时输出到数据文件d:\\dat6.dat中。 答案:19 头文件:

int sxhs(int *p,int num) { int *v,m=0,a,b,c; for(v=p;v

主程序:

#include #include #include #include\#define N 500 int main() { FILE *fp; int array[N],n; fp = fopen(\ if(NULL ==fp) { printf(\ exit(0); } for(int i=0;i

mp = fopen(\ if(NULL ==mp) { printf(\ exit(0); } fprintf(mp,\ printf(\ fclose(fp); fclose(mp); return 0; }

2、已知文件dat2.dat中存放了500个三位整型数据。 要求:

1)将文件中的数据存入一个一维数组中。 2)编写函数int sxhs(int *p,int num) { }

求数组元素中 “水仙花数”的和,并把该函数放在头文件Fnumber.h中以便在主函数中调用该函数。(“水仙花数”的含义是一个数的每个数位的立方和等于该数。例153=1^3+5^3+3^3。)

3)把“水仙花数”的和显示到屏幕上,同时输出到数据文件d:\\dat6.dat中。 答案:6315 头文件:

int sxhs(int *p,int num) { int *v,m=0,a,b,c; for(v=p;v

主程序:

#include #include #include #include\#define N 500 int main()

{ FILE *fp; int array[N],n; fp = fopen(\ if(NULL ==fp) { printf(\ exit(0); } for(int i=0;i

3、已知文件dat3.dat中存放了500个五位整型数据。 要求:

1)将文件中的数据存入一个一维数组中。 2)编写函数int hws(int *p,int num) { }

求数组元素中回文数的个数,并把该函数放在头文件Fnumber.h中以便在主函数中调用该函数。(回文数的含义是:从左向右读与从右向左读是相同的,即对称。如:12321。) 3)把回文数及回文数的个数显示到屏幕上,同时输出到数据文件d:\\dat6.dat中。 答案:39693 33233 21312 23432 个数:4 头文件:

int hws(int *p,int num) { int *v,m=0,a,b,c,d; for(v=p;v

d=*v; if(a==d&&b==c) { m++; printf(\ } } return m; }

主程序:

#include #include #include #include\#define N 500 int main() { FILE *fp; int array[N],n; fp = fopen(\ if(NULL ==fp) { printf(\ exit(0); } for(int i=0;i

4、已知文件dat3.dat中存放了500个五位整型数据。 要求:

1)将文件中的数据存入一个一维数组中。 2)编写函数int hws(int *p,int num) { }

求数组元素中回文数的和,并把该函数放在头文件Fnumber.h中以便在主函数中调用该函数。

3)把回文数及回文数的和显示到屏幕上,同时输出到数据文件d:\\dat6.dat中。 答案:39693 33233 21312 23432 和:117670 头文件:

int hws(int *p,int num) { int *v,m=0,a,b,c,d; for(v=p;v

主程序:

#include #include #include #include\#define N 500 int main() { FILE *fp; int array[N],n; fp = fopen(\ if(NULL ==fp) { printf(\ exit(0); } for(int i=0;i

printf(\ exit(0); }

double r = intSumMin(array,N); for(i=0;i<3;i++) { fprintf(mp,\ printf(\ } fprintf(mp,\ printf(\ fclose(fp); fclose(mp); return 0; }

头文件ISmin.h:

double intSumMin(int *p,int num) {

//先对dat1.dat中的数据进行排序,然后再进行相应的计算,注意返回值。 int temp; for(int i=0;i*(ptr+1)) { temp = *ptr; *ptr = *(ptr+1); *(ptr+1) = temp; }

double sum =0; for(i=0;i<3;i++) sum+=pow(*(p+i),1.0/3); return sum; } 15、

dat1.dat存放500个整型数据,要求:

1)将这500个整型数据读入到一个一维数组中;

2)求dat1.dat中的最大三个数的立方根之和(先求每个数的立方根再求和), 使用函数double intSumMax (int *p,int num) {

//先对dat1.dat中的数据进行排序,然后再进行相应的计算,注意返回值。 }

来实现,并把该函数放在头文件ISmax.h中以便在主函数中调用该函数.

3)将最大的三个数与所求得的这三个数的立方根之和显示在屏幕上并且输出到d:\\dat6.dat

中。 答案: 32545 32443 32345 95.68 主程序:

#include #include #include #include \#define N 500 int main() { FILE *fp; fp = fopen(\ if(NULL ==fp) { printf(\ exit(0); } int array[N]; for(int i=0;i

}

头文件ISmax.h:

double intSumMax(int *p,int num) {

//先对dat1.dat中的数据进行排序,然后再进行相应的计算,注意返回值。 int temp; for(int i=0;i

double sum =0; for(i=0;i<3;i++) sum+=pow(*(p+i),1.0/3); return sum; } 16、

dat1.dat存放500个整型数据,要求:

1)将这500个整型数据读入到一个一维数组中;

2)求dat1.dat中的最小三个数的和的立方(先求三个数的和再求立方), 使用函数double intSumMin(int *p,int num) {

//先对dat1.dat中的数据进行排序,然后再进行相应的计算,注意返回值。 }

来实现,并把该函数放在头文件ISmin.h中以便在主函数中调用该函数.

3)将最小的三个数与所求得的这三个数的和的立方显示在屏幕上并且输出到d:\\dat6.dat中。 答案: 71 124 256

91733851 主程序:

#include #include #include #include \#define N 500

int main() {

FILE *fp; fp = fopen(\ if(NULL ==fp) { printf(\ exit(0); } int array[N]; for(int i=0;i

double r = intSumMin (array,N); for(i=0;i<3;i++) { fprintf(mp,\ printf(\ } fprintf(mp,\ printf(\ fclose(fp); fclose(mp); return 0; }

头文件ISmin.h:

double intSumMin(int *p,int num) {

//先对dat1.dat中的数据进行排序,然后再进行相应的计算,注意返回值。 int temp; for(int i=0;i*(ptr+1)) { temp = *ptr; *ptr = *(ptr+1); *(ptr+1) = temp; }

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

sum+=*(p+i); double result = pow(sum,3); return result; } 17、

dat1.dat存放500个整型数据,要求:

1)将这500个整型数据读入到一个一维数组中;

2)求dat1.dat中的最大三个数的和的立方(先求三个数的和再求立方), 使用函数double intSumMax(int *p,int num) {

//先对dat1.dat中的数据进行排序,然后再进行相应的计算,注意返回值。 }

来实现,并把该函数放在头文件ISmax.h中以便在主函数中调用该函数.

3)将最大的三个数与所求得的这三个数的和的立方显示在屏幕上并且输出到d:\\dat6.dat中。 答案: 32545 32443 32345

922104896625037

主程序:

#include #include #include #include \#define N 500

int main() { FILE *fp; fp = fopen(\ if(NULL ==fp) { printf(\ exit(0); } int array[N]; for(int i=0;i

FILE *mp; mp = fopen(\ if(NULL ==mp) { printf(\ exit(0); } double r = intSumMax(array,N); for(i=0;i<3;i++) { fprintf(mp,\ printf(\ } fprintf(mp,\ printf(\ fclose(fp); fclose(mp); return 0; }

头文件ISmax.h:

double intSumMax(int *p,int num) {

//先对dat1.dat中的数据进行排序,然后再进行相应的计算,注意返回值。 int temp; for(int i=0;i

double sum =0; for(i=0;i<3;i++) sum+=*(p+i); double result = pow(sum,3); return result; } 18、

dat1.dat存放500个整型数据,要求:

1)将这500个整型数据读入到一个一维数组中;

2)求dat1.dat中的最小三个数的和的平方(先求三个数的和再求平方),

使用函数double intSumMin(int *p,int num) {

//先对dat1.dat中的数据进行排序,然后再进行相应的计算,注意返回值。 }

来实现,并把该函数放在头文件ISmin.h中以便在主函数中调用该函数.

3)将最小的三个数与所求得的这三个数的和的平方显示在屏幕上并且输出到d:\\dat6.dat中。 答案: 71 124 256 203401

主程序:

#include #include #include #include \#define N 500

int main() { FILE *fp; fp = fopen(\ if(NULL ==fp) { printf(\ exit(0); } int array[N]; for(int i=0;i

fprintf(mp,\ printf(\ } fprintf(mp,\ printf(\ fclose(fp); fclose(mp); return 0; }

头文件ISmin.h:

double intSumMin(int *p,int num) {

//先对dat1.dat中的数据进行排序,然后再进行相应的计算,注意返回值。 int temp; for(int i=0;i*(ptr+1)) { temp = *ptr; *ptr = *(ptr+1); *(ptr+1) = temp; }

double sum =0; for(i=0;i<3;i++) sum+=*(p+i); double result = pow(sum,2); return result; } 19、

dat1.dat存放500个整型数据,要求:

1)将这500个整型数据读入到一个一维数组中;

2)求dat1.dat中的最大三个数的和的平方(先求三个数的和再求平方), 使用函数double intSumMax(int *p,int num) {

//先对dat1.dat中的数据进行排序,然后再进行相应的计算,注意返回值。 }

来实现,并把该函数放在头文件ISmax.h中以便在主函数中调用该函数.

3)将最大的三个数与所求得的这三个数的和的平方显示在屏幕上并且输出到d:\\dat6.dat中。 答案: 32545 32443 32345

9473712889

主程序:

#include #include #include #include \#define N 500

int main() { FILE *fp; fp = fopen(\ if(NULL ==fp) { printf(\ exit(0); } int array[N]; for(int i=0;i

double r = intSumMax(array,N); for(i=0;i<3;i++) { fprintf(mp,\ printf(\ } fprintf(mp,\ printf(\ fclose(fp); fclose(mp); return 0; }

头文件ISmax.h:

double intSumMax(int *p,int num) {

//先对dat1.dat中的数据进行排序,然后再进行相应的计算,注意返回值。 int temp; for(int i=0;i

for(int *ptr = p;ptr

double sum =0; for(i=0;i<3;i++) sum+=*(p+i); double result = pow(sum,2); return result; } 20、

dat1.dat存放500个整型数据,要求:

1)将这500个整型数据读入到一个一维数组中;

2)求dat1.dat中的最小三个数的和的平方根(先求三个数的和再求平方根),结果保留2位小数,

使用函数double intSumMin(int *p,int num) {

//先对dat1.dat中的数据进行排序,然后再进行相应的计算,注意返回值。 }

来实现,并把该函数放在头文件ISmin.h中以便在主函数中调用该函数.

3)将最小的三个数与所求得的这三个数的和的平方根显示在屏幕上并且输出到d:\\dat6.dat中。 答案: 71 124 256 21.24 主程序:

#include #include #include #include \#define N 500

int main() { FILE *fp; fp = fopen(\ if(NULL ==fp) { printf(\

exit(0); } int array[N]; for(int i=0;i

double r = intSumMin(array,N); for(i=0;i<3;i++) { fprintf(mp,\ printf(\ } fprintf(mp,\ printf(\ fclose(fp); fclose(mp); return 0; }

头文件ISmin.h:

double intSumMax(int *p,int num) {

//先对dat1.dat中的数据进行排序,然后再进行相应的计算,注意返回值。 int temp; for(int i=0;i*(ptr+1)) { temp = *ptr; *ptr = *(ptr+1); *(ptr+1) = temp; }

double sum =0; for(i=0;i<3;i++) sum+=*(p+i); double result = pow(sum,1.0/2); return result; }

21、

dat1.dat存放500个整型数据,要求:

1)将这500个整型数据读入到一个一维数组中;

2)求dat1.dat中的最大三个数的和的平方根(先求三个数的和再求平方根),结果保留2位小数,

使用函数double intSumMax(int *p,int num) {

//先对dat1.dat中的数据进行排序,然后再进行相应的计算,注意返回值。 }

来实现,并把该函数放在头文件ISmax.h中以便在主函数中调用该函数.

3)将最大的三个数与所求得的这三个数的和的平方根显示在屏幕上并且输出到d:\\dat6.dat中。 答案: 32545 32443 32345 311.98 主程序:

#include #include #include #include \#define N 500 int main() { FILE *fp; fp = fopen(\ if(NULL ==fp) { printf(\ exit(0); } int array[N]; for(int i=0;i

double r = intSumMax(array,N); for(i=0;i<3;i++) { fprintf(mp,\ printf(\ } fprintf(mp,\ printf(\ fclose(fp); fclose(mp); return 0; }

头文件ISmax.h:

double intSumMax(int *p,int num) {

//先对dat1.dat中的数据进行排序,然后再进行相应的计算,注意返回值。 int temp; for(int i=0;i

double sum =0; for(i=0;i<3;i++) sum+=*(p+i); double result = pow(sum,1.0/2); return result; } 22、

dat1.dat存放500个整型数据,要求:

1)将这500个整型数据读入到一个一维数组中;

2)求dat1.dat中的最小三个数的和的立方根(先求三个数的和再求立方根),结果保留2位小数,

使用函数double intSumMin(int *p,int num) {

//先对dat1.dat中的数据进行排序,然后再进行相应的计算,注意返回值。 }

来实现,并把该函数放在头文件ISmin.h中以便在主函数中调用该函数.

3)将最小的三个数与所求得的这三个数的和的立方根显示在屏幕上并且输出到d:\\dat6.dat中。 答案: 71 124 256 7.67

主程序:

#include #include #include #include \#define N 500 int main() { FILE *fp; fp = fopen(\ if(NULL ==fp) { printf(\ exit(0); } int array[N]; for(int i=0;i

double r = intSumMin(array,N); for(i=0;i<3;i++) { fprintf(mp,\ printf(\ } fprintf(mp,\ printf(\ fclose(fp); fclose(mp); return 0;

}

头文件ISmin.h:

double intSumMax(int *p,int num) {

//先对dat1.dat中的数据进行排序,然后再进行相应的计算,注意返回值。 int temp; for(int i=0;i*(ptr+1)) { temp = *ptr; *ptr = *(ptr+1); *(ptr+1) = temp; }

double sum =0; for(i=0;i<3;i++) sum+=*(p+i); double result = pow(sum,1.0/3); return result; } 23、

dat1.dat存放500个整型数据,要求:

1)将这500个整型数据读入到一个一维数组中;

2)求dat1.dat中的最大三个数的和的立方根(先求三个数的和再求立方根),结果保留2位小数,

使用函数double intSumMax(int *p,int num) {

//先对dat1.dat中的数据进行排序,然后再进行相应的计算,注意返回值。 }

来实现,并把该函数放在头文件ISmax.h中以便在主函数中调用该函数.

3)将最大的三个数与所求得的这三个数的和的立方根显示在屏幕上并且输出到d:\\dat6.dat中。 答案: 32545 32443 32345 46.00 主程序:

#include #include #include #include \#define N 500

int main() { FILE *fp; fp = fopen(\ if(NULL ==fp) { printf(\ exit(0); } int array[N]; for(int i=0;i

double r = intSumMax(array,N); for(i=0;i<3;i++) { fprintf(mp,\ printf(\ } fprintf(mp,\ printf(\ fclose(fp); fclose(mp); return 0; }

头文件ISmax.h:

double intSumMax(int *p,int num) {

//先对dat1.dat中的数据进行排序,然后再进行相应的计算,注意返回值。 int temp; for(int i=0;i

double sum =0; for(i=0;i<3;i++) sum+=*(p+i); double result = pow(sum,1.0/3); return result; }

24、已知数据文件dat1.dat存放的是一系列整型数据。 要求:

1)实现在主函数中用dat1.dat文件的前200个数据给数组int a[200]赋值,并在屏幕上输出(每行10个元素)。

2)自定义函数int multi(int *p,int i) { }

判断一个数组元素能否同时被3和7整除但不能被5整除。并把该函数放在头文件ISmulti.h中以便在主函数中调用该函数。

3)在主函数中调用上述函数,把数组中所有满足条件的数组元素分别输出到屏幕上和数据文件d:\\dat6.dat中。

25、已知数据文件dat1.dat存放的是一系列整型数据。 要求: 1)实现在主函数中用dat1.dat中的前200个数据给数组int a[200]赋值,并在屏幕上输出(每行10个元素)。

2)自定义函数int even(int *p,int i) { }

判断一个数组元素是否同时被3和5整除的偶数。并把该函数放在头文件ISeven.h中以便在主函数中调用该函数.

3)在主函数中调用上述函数,把数组中所有满足条件的数组元素分别输出到屏幕上和数据文件d:\\dat6.dat中。

26、已知数据文件dat1.dat存放的是一系列整型数据。 要求: 1)实现在主函数中用dat1.dat中的前200个数据给数组int a[200]赋值,并在屏幕上输出(每行10个元素)。

2)自定义函数int odd(int *p,int i) { }

判断一个数组元素是否同时被3和5整除的奇数。并把该函数放在头文件ISodd.h中以便在主函数中调用该函数.

3)在主函数中调用上述函数,把数组中所有满足条件的数组元素分别输出到屏幕上和数据文件d:\\dat6.dat中。

27、已知数据文件dat1.dat存放的是一系列整型数据。 要求: 1)实现在主函数中用dat1.dat中的前200个数据给数组int a[200]赋值,并在屏幕上输出(每行10个元素)。

2)自定义函数int odd(int *p,int i)

{ }

判断一个数组元素是否能同时被3和7整除但不能被5整除的奇数。并把该函数放在头文件ISodd.h中以便在主函数中调用该函数。

3)在主函数中调用上述函数,把数组中所有满足条件的数组元素分别输出到屏幕上和数据文件d:\\dat6.dat中。

28、已知数据文件dat1.dat存放的是一系列整型数据。 要求: 1)实现在主函数中用dat1.dat中的前200个数据给数组int a[200]赋值,并在屏幕上输出(每行10个元素)。

2)自定义函数int even(int *p,int i) { }

判断一个数组元素是否能同时被3和7整除但不能被5整除的偶数。并把该函数放在头文件ISeven.h中以便在主函数中调用该函数。

3)在主函数中调用上述函数,把数组中所有满足条件的数组元素分别输出到屏幕上和数据文件d:\\dat6.dat中。

29、已知数据文件dat1.dat存放的是一系列整型数据。 要求: 1)实现在主函数中用dat1.dat中的前200个数据给数组int a[200]赋值,并在屏幕上输出(每行10个元素)。

2)自定义函数int multi(int *p,int i) { }

判断一个数组元素能否同时被3和7整除但不能被5整除。并把该函数放在头文件ISmulti.h中以便在主函数中调用该函数.

3)在主函数中调用上述函数,把数组中所有不满足条件的数组元素分别输出到屏幕上和数据文件d:\\dat6.dat中。

30、已知数据文件dat1.dat存放的是一系列整型数据。 要求: 1)实现在主函数中用dat1.dat中的前200个数据给数组int a[200]赋值,并在屏幕上输出(每行10个元素)。

2)自定义函数int even(int *p,int i) { }

判断一个数组元素是否能同时被3和5整除的偶数。并把该函数放在头文件ISeven.h中以便在主函数中调用该函数.

3)在主函数中调用上述函数,把数组中所有不满足条件的数组元素分别输出到屏幕上和数据文件d:\\dat6.dat中。

31、已知数据文件dat1.dat存放的是一系列整型数据。 要求: 1)实现在主函数中用dat1.dat中的前200个数据给数组int a[200]赋值,并在屏幕上输出(每行10个元素)。

2)自定义函数int odd(int *p,int i)

{ }判断一个数组元素是否同时被3和5整除的奇数。并把该函数放在头文件ISodd.h中以便在主函数中调用该函数.

3)在主函数中调用上述函数,把数组中所有不满足条件的数组元素分别输出到屏幕上和数据文件d:\\dat6.dat中。

32、已知dat1.dat存放了一系列整型数据。 要求:

1)用dat1.dat中的前100个数据给数组int a[100]赋值,并在屏幕上输出(每行10个元素)。 2)使用函数int ovaver(int *p,int num) { }

求数组a中大于所有数组元素平均值(取整数)的个数。

3)把该函数放在头文件ISovaver.h中以便在主函数中调用该函数。把所有数组元素(每行10个元素)和大于平均值的数组元素个数输出出来。 (在屏幕上和数据文件d:\\dat6.dat中同时输出)

33、已知dat1.dat存放了一系列整型数据。 要求:

1)用dat1.dat中的前100个数据给数组int a[100]赋值,并在屏幕上输出(每行10个元素)。 2)使用函数int udaver(int *p,int num) { }

求数组a中小于所有数组元素平均值(取整数)的个数。

3) 把该函数放在头文件ISudaver.h中以便在主函数中调用该函数,把所有数组元素(每行10个元素)和小于平均值的数组个数输出出来,同时输出到数据文件d:\\dat6.dat中保存起来。(在屏幕上和数据文件d:\\dat6.dat中同时输出)

34、已知dat1.dat存放了一系列整型数据。 要求:

1)用dat1.dat中的前100个数据给数组int a[100]赋值,并在屏幕上输出。 2)使用函数int find(int *p,int num,int x) { }

查找输入的数x是否存在,如果找到x,则返回它在数组中的位置,否则返回-1;

3) 把该函数放在头文件ISfound.h中以便在主函数中调用该函数,如果找到x,输出x和它在数组中的位置,否则输出“not found!”。

(在屏幕上和数据文件d:\\dat6.dat中同时输出)

35、已知dat1.dat存放了一系列整型数据。 要求:

1)用dat1.dat中的前100个数据给数组int a[100]赋值,并在屏幕上输出。(每行10个元素)

2)使用函数int sushu(int *p,int num) { }

判断数组中的元素是否是素数。

3) 把该函数放在头文件ISsushu.h中以便在主函数中调用该函数。把所有的素数元素按每行10个数据输出。(在屏幕上和数据文件d:\\dat6.dat中同时输出)

36、已知dat1.dat存放了一系列整型数据。 要求:

1)用dat1.dat中的前100个数据给数组int a[100]赋值,并在屏幕上输出。(每行10个元素) 2)使用函数void rmove(int *p,int num) { }

对数组元素循环右移一位。

3)把该函数放在头文件ISrmove.h中以便在主函数中调用该函数。调用上述函数,对数组循环右移5位,并把右移后的数组元素按每行10个数据输出。(在屏幕上和数据文件d:\\dat6.dat中同时输出)

37、已知dat1.dat存放了一系列整型数据。 要求:

1)用dat1.dat中的前100个数据给数组int a[100]赋值,并在屏幕上输出。(每行10个元素) 2)使用函数void lmove (int *p,int num) { }

对数组元素循环左移一位。

3)把该函数放在头文件ISlmove.h中以便在主函数中调用该函数。调用上述函数,对数组循环左移5位,并把左移后的数组元素按每行10个数据输出。(在屏幕上和数据文件d:\\dat6.dat中同时输出)

38、已知dat1.dat存放了一系列整型数据。 要求:

1)用dat1.dat中的前100个数据给数组int a[100]赋值,并在屏幕上输出(每行10个元素)。 2)使用函数int isaver(int *p,int num) { }

求数组a中所有数组元素平均值(取整数)

3)把该函数放在头文件ISaver.h中以便在主函数中调用该函数。把所有小于平均值的数组元素(每行10个元素)和小于平均值的数组元素个数输出出来。(在屏幕上和数据文件d:\\dat6.dat中同时输出)

本文来源:https://www.bwwdw.com/article/t1xg.html

Top