下载此文档

计算机二级C语言上机改错部分.doc


文档分类:IT计算机 | 页数:约12页 举报非法文档有奖
1/12
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/12 下载此文档
文档列表 文档介绍
计算机二级 C 语言上机改错部分 1. 下列给定程序中函数 fun 的功能是: 求出如下分数序列的前 n 项之和。和值通过函数值返回。例如,若 n=5 ,则应输出 。请改正程序中的错误,使其得出正确的结果。注意:部分源程序在文件 中, 不得增行或删行,也不得更改的程序的结构! #include <> /************found************/ void fun ( int n){ int a, b, c, k; double s; s= ; a= 2;b= 1; for (k= 1;k <= n; k++ ){ /************found************/ s=s+ (Double)a / b; c= a;a=a+ b;b= c; } return s; } main( ){ int n= 5; printf( "\nThe value of function is: %lf\n", fun (n) ); } 【参考答案】(1)double fun(int n) (2)s=s+(double)a/b; 2. 下列给定程序中函数 fun 的功能是:统计 substr 所指的子符串在 str 所指的字符串中出现的次数。例如,若字符串为 aaas 1kaaas ,子字符串为 as ,则应输出 2。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件 中, 不得增行或删行,也不得更改的程序的结构! #include <> int fun (char *str,char *substr) { int i,j,k,num=0; /************found************/ for(i = 0, str[i], i++) for(j=i,k=0;substr[k]==str[j];k++,j++) /************found************/ If(substr[k+1]=='\0') { num++; break; } return num; } main() { char str[80],substr[80]; printf("Input a string:") ; gets(str); printf("Input a substring:") ; gets(substr); printf("%d\n",fun(str,substr)); } 【参考答案】(1)for(i=0;str[i];i++) (2)if(substr[k+1]== ′\0′) 3. 下列给定程序中函数 fun 的功能是: 实现两个变量值的交换, 规定不允许增加语句和表达式。例如,变量 a 中的值原为 8,b 中的值原为 3 ,程序运行后 a 中的值为3,b 中的值为 8。请改正程序中的错误,使它得出正确的结果。注意:部分源程序在文件 中, 不得增行或删行,也不得更改程序的结构! #include <> int fun(int *x,int y) { int t; /**************found**************/ t=x;x=y; /**************found**************/ return(y) ;} main() { int a= 3,b=8; printf("%d %d\n", a, b); b= fun(&a, b); printf("%d %d\n", a, b); } 【参考答案】(1)t = *x; *x=y; (2)return(t) ;或 return t; 4. 下列给定程序中函数 fun 的功能是: 求两个非零正整数的最大公约数,并作为函数值返回。例如,若 num1 和 num2 分别为 49和 21 ,则输出的最大公约数为 7; 若 num1 和 num2 分别为 27和 81 ,则输出的最大公约数为 27。请改正程序中的错误,使它能得出正确结果。注意:部分源程序在文件 中, 不得增行或删行,也不得更改程序的结构。#include <> int fun(int a,int b) { int r,t; if(a<b) { /************found************/ t=a; b=a; a=t; } r=a%b; while(r!=0) { a=b; b=r; r=a%b; } /************found************/ return(a); } main() { int num1, num2,a; printf("Input num

计算机二级C语言上机改错部分 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数12
  • 收藏数0 收藏
  • 顶次数0
  • 上传人n22x33
  • 文件大小0 KB
  • 时间2016-06-29