C实训三答案[推荐]_c语言实训三

其他范文 时间:2020-02-28 06:15:54 收藏本文下载本文
【www.daodoc.com - 其他范文】

C实训三答案[推荐]由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言实训三”。

实验三

教学重、难点:程序改错、编程

教学内容:练习四川省计算机等级考试C机试试题

教学过程:

一、评讲实验二课后作业

二、课堂模拟题

1、fun函数功能是在一个字符串,根据给定的插入位置i,插入一个指定的字符ch。如果i超过了字符串的长度,则将字符ch添加到字符串的末尾。

在main函数中,输入一个字符串、插入位置和要插入的一个字符,调用函数fun,最后将插入后的结果输出到屏幕和文件test1-2.dat中。

例如输入abcdefg字符串,给定插入位置为3,插入字符为A。则输出结果为:abcAdefg。若给定的插入位置为20,则输出结果为:abcdefgA。

请改正程序中的错误,使它能得出正确的结果。注意:不得增行或删行,也不得更改程序的结构。源程序如下: #include #include #include #define N 80 char insert(char str,int i,char ch)

*str {

int j,len;

len=strlen(str);

if(i>len)

{

for(j=len-1;j>=i;j++)

j--

str[j+1]=str[j];

str[i]=ch;

str[len]='';

str[len+1]

}

else

{

i=len;

str[i]=ch;

str[len+1]='';

} } void main(){

char str[81],ch;

int i;

FILE *fp;

fp=fopen(“test1-2.dat”,“r”);

“w”

if(fp==NULL)

{

printf(“file can not open!n”);

exit(0);

}

printf(“Input a string:”);

gets(str);

printf(“Input insert position and character:”);

scanf(“%d,%c”,&i,&ch);

insert(str,i,ch);

printf(“%sn”,str);

fprintf(fp,“%sn”,str);

fclose(fp);}

2、fun函数的功能是统计M行字符串中最长的字符串,并返回最长字符串的字符个数。

在main函数中,从文件test3-1.dat中输入M行字符串(每行字符串的长度不超过80个字符),调用fun函数,然后输出最长字符串的字符个数。

请改正程序中的错误,使它能得出正确结果。注意:不得增行或删行,也不得更改程序结构。源程序如下: # include # define M 10 # define N 80 void main(){

int max,lin,i=0,a[M];

char str[M][N];

int fun(char [M][N],int *);

FILE *fp;

if((fp=fopen(“test3-1.dat”,“r”))==null)

{

printf(“Cannot open file.n”);

exit(0);

}

while(!feof(fp))

gets(str[i++],N,fp);

fclose(fp);

fun(str,a);

printf(“max=%dn”,max);} int fun(char str[][N],int a[]){

int i,j=0,max;

for(i=0;i

{

while(str[i][j])j++;

a[i]=i;

j=0;

}

max=a[0];

for(i=1;i

if(a[i]>max)

max=a[i];

return;}

三、评讲课堂模拟题

四、课后作业

1、fun函数的功能是:将字符串s中的数字字符取出,转换成一个整数,整数作为函数值返回。例如:字符串为“ab12CD34”,则取出数字字符转换成整数1234。

在main函数中调用fun函数,并将转换后的结果写到文本文件test4-1.dat中。请改正程序中的错误,使它能得出正确的结果。注意:不得增行或删行,也不得更改程序结构。源程序如下: #define N 20 # include int fun(char s)

char*s {

int i,t=0;

for(i=0;s[i]!='';i++)

if(s[i]>='0'||s[i]

&&

t=t*10+s[i];

t=t*10+s[i]-„0‟

return t;} void main(){

char s[20];

int t;

file *fp;

FILE

if((fp=fopen(“test4-1.dat”,“w”))==NULL)

{

printf(“Cannot open file!n”);

exit(0);

}

gets(s);

t=fun(s);

printf(“t=%dn”,t);

fprintf(“t=%dn”,t);

fprintf(fp,”t=%dn”,t);

fclose(fp);}

2、在main函数中,从文本文件test1-1.dat中读出N个数,调用fun函数,统计其中素数的个数,并在main函数中输出其素数的个数及其所有素数。

请改正程序中的错误,使它能得出正确结果。注意:不得增行或删行,也不得更改程序结构。

源程序如下: # include # define N 10 int fun(int *a,int c[]){

int i,j,k=0;

for(i=0;i

{

for(j=2;j

if(*(a+i)/j==0)break;

*(a+i)%j

if(j

{

c[k]=a+i;

*(a+i)

k++;

}

}

return k;} void main(){

int a[N],c[N],cnt,i;

FILE *fp;

fp=fopen(test5-1.dat,“r”);

“test5-1.dat”

if(fp==NULL)

{

printf(“Can not open file!n”);

exit(0);

}

for(i=0;i

fscanf(“%d”,a+i,fp);

fscanf(fp,”%d”,a+i)

cnt=fun(a,c);

printf(“amount: %4dn”,cnt);

printf(“prime number: ”);

for(i=0;i

printf(“%4d”,c[i]);}

下载C实训三答案[推荐]word格式文档
下载C实训三答案[推荐].doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文