云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > c语言阅读程序题

c语言阅读程序题

  • 62 次阅读
  • 3 次下载
  • 2025/5/3 11:36:29

{j=i;

while(j

if(strcmp(s[i],s[j])==0)

{for(k=j;k

return n; }

main()

{

char line[10][10]={“shanghai”,”beijing”,”nanjing”,”shanghai”,”nanjing”}; int k,n=5;

n=del_line(line,n);

for(k=0;k

将上述程序录入到文件myf1.c中,然后根据题目的要求以及程序中语句之间的逻辑关系对程序中的错误进行修改。

2•改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译

预处理命令,但不能增加其他语句,也不能删去整条语句。

3.改正后的源程序(文件名myfl.c)必须放在考试软盘的根目录下,供阅卷用,否则不 予评分。

二:编程题(20分)

1. 编写函数int gcd_max(int a[ ],int b[ ],int

n),求长度为n的数组a中所有相邻两元素的最大公约数(共n-1个),并将之依次保存到数组b中,函数返回b数组中最大数的下标

2.

编写函数main函数,声明一个数组并用以下测试数据对其初始化,调用函数gcd_max,将求得的所有公约数,最大公约数及其下标写入文件myf2.out中。

例如:输入测试数据3,6,4,16,8,5,15,10,12,18,则输出结果应为:3,2,4,8,1,5,5,2,6,max1=3,max=8

1.将源文件取名为myf2.c,输出结果文件取名为myf2.out。 ?

2.数据文件的打开、使用和关闭等操作均用C标准库中缓冲文件系统的文件操作函数 实现。

3.源程序文件和运行结果文件均须保存在T:盘的根目录下,供阅卷用。 4.不要将myf2.obj、myf2.exe保存到T:盘中。

改错答案:

(1) int del_line(char s[10][ ],int n)修改为: int del_line(char s[ ][10],int n)

(2) j=i; 修改为:j=i+1;

(3) s[k]=s[k+1] 修改为:strcpy(s[k],s[k+1]); (4) puts(line); 修改为: puts(line[k]); 编程题答案: #include \

int gcd_max(int a[ ],int b[ ], int x) {

int i,k=0,t,r,m,n; int max,maxk; for(i=0;i

m=a[i];n=a[i+1];

if(m

m=n;n=r;r=m%n; }

b[k++]=n; }

max=b[0]; maxk=0; for(i=1;i

if(max

main() {

FILE *fp;

int a[10]={ 3,6,4,16,8,5,15,10,12,18},i,k; int b[9]={0};

if((fp=fopen(\ {

printf(\ exit(0); }

k=gcd_max(a,b,10); for(i=0;i<9;i++) {

printf(\ fprintf(fp,\ }

fprintf(fp,\

fprintf(fp,\ fclose(fp); }

一:改错题(20分) 题目:

函数find_replace的功能是:在s1串中查找s2子串,并用s3子串替换找到的所有s2子串,若s1串中没有出现s2子串,则不做替换并使函数返回0,否则返回1. 例如:若s1子串为”This is a test program and a test

data.”,s2子串为”test”,s3子串为”actual”,若程序正确,输出结果应为:”This is a actual program

and a actual data.”

含有错误的源程序如下: #include #include

int find_replace(char *s1, char *s2, char s3) {

int i,j,k=0,t=0; char temp[80];

if(*s1='\\0' || *s2='\\0') return t;

for(i=0;s1[i]!='\\0';i++) {

for(j=0,k=0;s1[j]= =s2[k];j++,k++); /*比较s2是否在s1中*/ if(s2[k]= ='\\0') {

strcpy(temp, s1[j]);

strcpy(&s1[i],s3); i=i+strlen(s3);

strcpy(&s1[i],temp); t=1; } }

return t; }

main() {

char line[80]=\ substr1[10]=\ puts(line);

if(find_replace(line,substr1,substr2)) puts(line);

else printf(\ }

编程题目: [题目]

1. 编写函数int encode(int a[

][4]),对二维数组中左下三角的全部元素(包括对角线上的元素)做如下变换:(1)若该元素不是素数则保持不变(2)若该数是素数,则用大于它的最小素数替换该数,函数返回二维数组左下三角的元素中素数的个数

2.

编写main函数,声明一个二维数组并用以下测试数据给二维数组赋初值。调用encode函数对该数组作变换,将变换后的数组全部元素(以二维数组形式)及左下三角元素中素数的个数写入文件myf2.out中

测试数据 3 6 4 7 8 5 9 10 12 19 7 20 4 14 21 23 变换后的数据 5 6 4 7 8 7 9 10

12 23 11 20 4 14 21 29

1.将源文件取名为myf2.c,输出结果文件取名为myf2.out。 ?

2.数据文件的打开、使用和关闭等操作均用C标准库中缓冲文件系统的文件操作函数 实现。

3.源程序文件和运行结果文件均须保存在T:盘的根目录下,供阅卷用。 4.不要将myf2.obj、myf2.exe保存到T:盘中。

改错题答案:

(1) int find_replace(char *s1, char *s2, char s3) 修改为:int find_replace(char *s1, char *s2, char *s3) (2) if(*s1='\\0' || *s2='\\0')

修改为: if(*s1= ='\\0' || *s2= ='\\0') (3) for(j=0,k=0;s1[j]= =s2[k];j++,k++);

修改为:for(j=i,k=0;s1[j]= =s2[k];j++,k++); (4) strcpy(temp, s1[j]);

修改为: strcpy(temp, &s1[j]);

编程题答案: #include

#include

int prime(int n) /*判断素数算法*/

搜索更多关于: c语言阅读程序题 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

{j=i; while(j

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com