问答题
printf("max=%6.1f\n ",max);
【参考答案】
double fun(STREC *h)
{
double max=h->s;
whi......
(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)
点击查看答案&解析
<上一题
目录
下一题>
热门
试题
填空题
下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun()的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include <stdio.h> #include <conio.h> #include <stdlib.h> typedef struct aa int data; struct aa *next; NODE; *************found************** fun (NODE *h) int max=-1; NODE *p; p=h->next; while(p) if(p->data>max) max=p->data; *************found************** p=h->next; return max; outresult(int s, FILE *pf) fprintf(pf, nThe max in link :%d n ,s); NODE *creatlink(int n, int m) NODE *h,*p,*s,*q; int i, x; h=p=(NODE *)malloc(sizeof(NODE)); h->data=9999; for(i=1;i<=n;i++) s=(NODE *) malloc(sizeof(NODE)); s->data=rand()%m; s->next=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, n The LIST : n n HEAD ); while(p) fprintf(pf, ->%d ,p->data); p=p->next; fprintf(pf, n ); main ( ) NODE *head; int m; clrscr(); head=creatlink(12,100); outlink(head,stdout); m=fun(head); printf( nThe RESULT : n ); outresult (m, stdout);
点击查看答案&解析
填空题
请补充函数fun(),该函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,若一维数组中的数据是:1,1,1,2,2,2,3, 4,4,5,5,6,6,7,7,8,9,9,10,10。 删除后,数组中的内容应该是:1,2,3,4,5,6,7, 8,9,10。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include<stdio.h> #define N 80 int fun(int a[],int n) int i, t,j=0; t=a[0]; for(i=1;i<n;i++) if( 【1】 ) ; else 【2】 ; t=a[i]; a[j++]=t; return j; main() int a[N]=1,1,2,2,2,3,4,4,5,5,6,6,6, 7,7,8,9,9,10,10,i,n=20; printf( The original data: n ); for(i=0; i<n; i++) printf( %4d ,a[i]); n=fun(a,n); printf( n nThe data after deleted ; n ); for (i=0;i<n;i++) printf( %4d ,a[i]); printf( n );
点击查看答案&解析
相关试题
下列给定程序是建立一个带头结点的单向链表...
请补充函数fun(),该函数的功能是:删去...