C语言题库之改错

上传人:xy****7 文档编号:43265666 上传时间:2018-06-05 格式:DOC 页数:57 大小:191KB
返回 下载 相关 举报
C语言题库之改错_第1页
第1页 / 共57页
C语言题库之改错_第2页
第2页 / 共57页
C语言题库之改错_第3页
第3页 / 共57页
C语言题库之改错_第4页
第4页 / 共57页
C语言题库之改错_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《C语言题库之改错》由会员分享,可在线阅读,更多相关《C语言题库之改错(57页珍藏版)》请在金锄头文库上搜索。

1、改 错 题1、给定程序中 fun 函数的功能是:根据整型形参 m 的值,计算如下公式的值:例如,若 m 中的值为 5,则应输出 0.536389。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!#include double fun ( int m ) double y = 1.0 ;int i ; /*found*/for(i = 2 ; i #include /*found*/ void fun (char s, char t)改为:void fun (char * s, char * t) int i, d;d = st

2、rlen(s);for (i = 0; i #include #define N 80 void fun(char *s, char t) int i, j=0;for(i=0; i double fun ( int n ) double result = 1.0 ; /*found*/if n = = 0改为:if (n = 0)return 1.0 ;while( n 1 int i,j; /*found*/_;改为:sum=0for (i=0;i long fun (int a, int n) int j ; /*found*/long s = 0, t = 1 ; 改为:long s

3、= 0, t = 0 ;/*found*/for ( j = 0 ; j long fun ( int k) /*found*/if k 0改为:if(k 0)return (k*fun(k-1); /*found*/else if ( k=0 )改为:else if ( k=0 )return 1L; main() int k = 10 ;printf(“%d!=%ldn“, k, fun ( k ) ; 8、给定程序中 fun 函数的功能是:由形参给定 n 个实数,输出平均值,并统计在平均值以 上(含平均值)的实数个数。 例如,n=8 时,输入: 193.99,195.673,195.75

4、7,196.051,196.092,196.596,196.579,196.763,所得平均值为: 195.838745,在平均值以上的实数个数应为:5。#include int fun(float x, int n) /*found*/int j, c=0, float xa=0.0;改为:int j, c=0; float xa=0.0;for (j=0; j xa)改为:if (xj = xa)c+;return c; main ( ) float x100 = 193.199, 195.673, 195.757, 196.051, 196.092, 196.596, 196.579,

5、196.763 ;printf(“%dn“, fun (x, 8); 9、给定程序中 fun 函数的功能是:将 tt 所指字符串中的小写字母都改为对应的大写字母, 其它字符不变。例如:若输入“Ab,cD” ,则输出“AB,CD”#include #include char* fun( char tt ) int i;for( i = 0; tti; i+ ) /*found*/if( a = a)int i=0;max=pi;while( pi!=0 ) if( maxp )改为:while(qp ) *q=*(q-1);q-; p0=max; main() char str80;printf

6、(“Enter a string: “); gets(str);printf(“nThe original string: “); puts(str);fun(str);printf(“nThe string after moving: “); puts(str); printf(“nn“); 11、给定程序 MODI1.CJ 是建立一个带头结点的单向链表,并用随机函数为各结点赋值。给 定程序中 fun 函数的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来, 并作为函数值返回。#include #include typedef struct aa int data; struct

7、 aa *next; NODE; int fun(NODE *h) int sum = 0 ;NODE *p; /*found*/p=h;改为:p=h-next;/*found*/while(p-next)改为:while(p) if(p-data%2=0) sum +=p-data; /*found*/p=h-next;改为:p=p-next;return sum; NODE *creatlink(int n) NODE *h, *p, *s, *q;int i, x;h=p=(NODE *)malloc(sizeof(NODE);for(i=1; idata=rand()%16; s-ne

8、xt=p-next;p-next=s; p=p-next; p-next=NULL;return h; outlink(NODE *h, FILE *pf) NODE *p;p = h-next;fprintf(pf ,“nnTHE LIST :nn HEAD “ );while(p) fprintf(pf ,“-%d “,p-data ); p=p-next; fprintf (pf,“n“); outresult(int s, FILE *pf) fprintf(pf,“nThe sum of even numbers : %dn“,s); main( ) NODE *head; int

9、even;head=creatlink(12); head-data=9000;outlink(head , stdout);even=fun(head);printf(“nThe result :n“); outresult(even, stdout); 12、给定程序中 fun 函数的功能是:求三个数的最小公倍数。例如,给主函数中的变量 x1,x2,x3 分别输入 15 11 2,则输出结果应当是:330。#include /*found*/ fun(int x, y, z )改为:fun(int x, int y, int z ) int j,t ,n ,m; /*found*/j =

10、1 ;改为:j = x;t=j%x; m=j%y ; n=j%z; /*found*/while(t!=0 t=j%x; m=j%y; n=j%z; /*found*/return i;改为:return j; main( ) int x1,x2,x3,j ;printf(“Input x1 x2 x3: “); scanf(“%d%d%d“,printf(“x1=%d, x2=%d, x3=%d n“,x1,x2,x3);j=fun(x1,x2,x3);printf(“The minimal common multiple is : %dn“,j); 13、给定程序中 fun 函数的功能是:

11、先将在字符串 s 中的字符按正序存放到 t 串中,然后把 s 中的字符按逆序连接到 t 串的后面。例如:当 s 听字符串为“ABCDE”时,则 t 中的字符 串应为“ABCDEEDCBA” 。#include #include void fun (char *s, char *t) int i, sl;sl = strlen(s);/*found*/for( i=0; i void fun( char *s ) int i,j;for(i=j=0; si!=0; i+)if(si!=c) /*found*/sj=si;改为:sj+=si;/*found*/si=0;改为:sj=0; main(

12、) char s80;printf(“Enter a string: “); gets(s);printf(“The original string: “); puts(s);fun(s);printf(“The string after deleted : “); puts(s);printf(“nn“); 15、给定程序中 fun 函数的功能是:从整数 1 到 55 之间,选出能被 3 整除、且有一位上的 数是 5 的那些数,并把这些数放在 b 所指的数组中,这些数的个数作为函数值返回。规定, 函数中 a1 放个位数,a2 放十位数。#include /*found*/ fun( int

13、*b ) 改为:int fun( int *b ) int k,a1,a2,i=0; /*found*/for(k=10; k #include /*found*/ void fun( int k )改为:float fun( int k ) int n; float s, w, p, q;n = 1;s = 1.0;while ( n #include /*found*/ fun( int m, int k )改为:void fun( int m, int k ) int aa20, i;for( i = 0; m; i+ ) /*found*/aai = m/k;改为:aai = m% k;m /= k;for( ; i; i- ) /*found*/printf( “%d“, aa i );改为:printf( “%d“, aa i-1 );main( ) int b, n;printf( “nPlease enter a number and a bas

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号