当前位置:文档之家› C语言程序改错及填空题

C语言程序改错及填空题

下列程序是建立一个包含学生有关数据的单向链表。

但该程序有2个错误,错误出现在每个注释行附近,请调试改正。

调试改正中,不得改变程序结构,也不得增删语句。

#define NULL 0struct stud{long num;char name[10];float score;struct stud *next;};/* …………… comment …………… */int n;struct stud create() 序中有两处错误代码,请改正.注意,不得改变程序结构。

#include <>main(){int a[8],*p=a;int i,j;int tempmin,tempcode;printf("\n input the numbers:\n");for (i=0;i<8;i++)scanf("%d",p+i);tempmin=*p;for (i=0;i<7;i++){for (j=i;j<8;j++)if (j==i||*(p+j)<tempmin){ tempmin=*(p+i); ............ comment one .............. */if(j==ls2)return(s1+j); ............ comment two .............. */c=find_str(a,b);if(c!=NULL) printf("%s\n",c);else printf("未找到字符串%s\n",b);}程序的功能是:计算并输出从键盘输入的任一正整数的各位数字之和s以及各位数字之积t。

例如,当输入的正整数为237时,s的值为12,t的值为42。

请改正程序中的两个错误,使它能得出正确的结果。

注意:不得增行或删行,也不得修改程序的结构。

#include ""main(){int n, yw, s=0, t=0; void inv(x,n)int *x,n;{int *p,t,*i,*j,m=(n-1)/2;i=x;j=n; . * ( (2*k*2*k)/((2*k-1)*(2*k+1)) )请改正函数fun中的两个错误,使程序能输出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include ""#include ""fun( int k ) ........ment 1................*/ n=10; ........ment 2................*/ for(j=0;j<=n/2-abs(i);j++)printf("%c",s[j]);for(j=n/2-abs(i); j<19;j++)printf("%c",s[j]); ............ comment one .............. */for(i=0; i < st; i++)t[st] = s[i]; ............ comment two .............. */t[st] = '\0'; 意,不得改变程序结构。

#include <>main(){int a[10],b[10],i;for(i=0;i<=10;i++) ....注意:不得改变程序的结构和算法,也不能增加或删除程序行。

#include ""int yanghui(int x,int y) #include <>main(){int i,s,k,count=0;for(i=100;i<=1000;i++){s=0;k=i;while(k==0) #include <>main(){ char *p, s[6];int n;p=&s; #include <>#include <>void swap(char *a,char *b){char c;c=*a;*a=*b;*b=c;}void reverse(char *s,char *t){if(s<t){swap(*s,*t); #define M 4 #define N 3void sort(int *x,int *y,int *z) {int i=0,j=0,k=0;while(i<M && j<N)if(x[i]<y[j])z[k++]=x[i++];elsez[k++]=y[j++];while(i<M)z[k++]=x[i++];while(i<N)z[k++]=y[j++];}void main(){int a[M]={1,5,34,100};int b[N]={20,35,200};int c[M+N],i;sort(a,b[0],c); #include <>#include <>void f(char *str){char *p,*q,*r,c;/*--用选择排序法对字符串str中字符按从小到大排序。

找出以下程序段中的错误--*/for(p=str;*p;p++){for(r=p,q=p+1;*q;q++)if(r>q) 注意:不得改变程序结构。

题中涉及的文件所在位置均指考生目录.#include<>main(){int i,s;s=i; #include <>void main(void){ unsigned long num, max, t;int count;count=max=0;scanf("%d", &num); ..#define N 11main( ){int I,j,a[N][N];for (I=1; I<N; I++){ a[I][I]=1;(1) 现上述要求。

不得增加行或删除行,也不得更改程序结构。

#include <>main(){int i,s,k,count=0;for(i=100;i<1000;i++){s=0;k=i;while (__________) 图片文件名:"";宽度:80pixels;高度:80pixels2. “登录名:”文本框名称:"login_name";尺寸:20字符3. “密码:”密码文本框名称:"login_password";尺寸:20字符4. “类型:”下拉组合框文字列表项:“商务用户”、“VIP用户”、“免费用户”5. 发送电子邮件超链接6. BBS超链接<html><head><title>yoyo邮局主页</title></head><body><p align="center"><b><font color="#800080" face="楷体_GB2312" size="5">yoyo 邮局</font></b></p><p align="center">___(1)___ \n");return; }printf("%d %s\n",x,( 2 )"Yes":"No"); main(){int c[64],i=0,base;long n;printf("enter a number:\n");scanf("%ld",&n);printf("enter new base:\n");scanf("%d",&base);do{c[i]=n%base;(1) #include ""main(){int matrix[50][50];int i,j,n,sign=1;printf("Input the rank of the matrix:\n");scanf("%d", (1) ); n");sign=0;break;}if (sign == 0)break;}if ( (3) ) n");}程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变。

请将程序补充完整,使它能得出正确的结果。

不得增行或删行,也不得更改程序的结构。

#include <>#include <>main(){ char a[]="clanguage",t;int i, j, k;k=strlen(a);for(i=0; i<=k-2; i+=2)for(j=______; j<=k; j+=2 ) #include <> void main(){int a[10]={10,50,3,80,78,100,56,67,102,11}; int i,j,m;for(i=1;i<10;i++){m=a[i];j=(1); #include ""main(){-----(1)----- i,j,k; #define N 3#define M 4void LineMax(int x[N][M]){ int i,j,p;for(i=0; i<N;i++){ p=0;for(j=1; j<M;j++)if(x[i][p]<x[i][j]) (1) ; #include <>int count(char *str){int i,num=0;for(i=0;str[i];i++){if([ ]) n",number);}给出的文件,其中嵌入了JavaScript脚本,它的功能是:在页面上显示系统日期的中文大写形式工,假设系统日期为2007年11月1日,则在页面上显示“今天是:公元二零零七年十一月一日”。

该文件中有3处空,请补充完整,使之能够正确运行。

注意:不得改变程序的结构和算法,也不能增加或删除程序行。

相关主题