《c语言程序设计教学课件》程序改错(自我总结).doc:..1、:先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线元素之积。#include<>voidfun()inta[3][3],sum;for(i=0;i<3;i++){ for(H);jv3;j++)scanf(n%d,ra[i][j]);}for(i=0;i<3;i++)sum=sum*a[il[il;printf("Sum=%d\nn,sum);}main(){fun();}2、,函数fun的功能是:找出一个大于给定整数m且紧随m的素数,并作为函数值返回。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得増行或删行,也不得更改程序的结构!#include<>#include<>intfun(intm){inti,k;for(i=m+l;;i++){for(k=2;k<i;k++)if(i%k!=O)break;if(k<i)return(i);}}main(){intn;clrscr();printf(H\nPleaseentern:n);scanf(n%d",&n);pHntf(”%d\n“,fun(n));,c中,函数fun的功能是:用选择法对数组屮的n个元素按从小到大的顺序进行排序。#include<>#defineN20voidfun(inta[J,intn){inti,j,t,p;for(j=O;j<n-l;j++){P=jfor(i=j;i<n;i++)if(a[i]<a[p])p=j;t=a[p];a[p]=a[j];a[j]=t;main(){inta[N]={9,6,8,3,-1},i,m=5;printfC*排序前的数据:”);for(i=0;i<m;i++)printf(,,%d,,,a[i]);printf(',\n");fun(a,m);printf("排序后的数据:");for(i=0;i<m;i++)printf(”%d”,a[i]);printf(”\n”);)4、+fun函数的功能是:根据整烈参数m,计算如下公式的值。尸1+1/根号(2)+1/根号(3)+……1/根号(n)例如,若m中的值为:5,则应输出:#include<>doublefun(intm){inti;doublct,y=O;for(i=l;i<=m;i++){t=l/sqrt(i);y=y+t;}returny;}main(){intm;doubley;clrscrQ;printf(nEnterm:n);scanf(u%d,r,&m);printf(H\ny=%f\n',,fun(m));5、,函数fun的功能是:求出a所指数组屮最大数和次最大数(规定最大数和次最大数不在a[0]和a[l]中,依次和a[0]>a[l]中的数对调。例如数组中原有的数为:7、10、12、0、3、6、9、11、5、8,输出的结果为:12、11、7、0、3、6、9、10、5、8。#include<>#include<>#20voidfun(int*a,intn){intk,m1,m2,maxI,max2,t;max1=max2=-32768;m1=m2=0;for(k=0;k<n;k++)if(a[k]>maxl){max2=max1;m2=m1;maxl=a[kj;ml=k;)elseif(a[k]>max2){ max2=a[k];m2=k;}t=a[0];a[ml]=a[0J;a[m1J=t;t=a[1];a[m2]=a[1];a[m2]=t;}main(){intx,b[N]={7,10,12,0,3,6,9,11,5,8},n=10,i;clrscr();for(i=0;i<n;i++)printf(u%dM,b[i]);printf(,,\nu);fun(b,n);for(i=0;i<n;i++)printf(H%du,b[i]);printf(H\nH);6、给定程序中,函数firn的功能是:计算输lllhigh以内最大的10个素数Z和。highlll主函数传给fun函数。若high的值为:100,则函数的值为:732o#include<>#include<>#include<>intfun(inthigh){intsum=0,n=0J,ycs;while((high>=2)&&(n<10)for(j=2;j<=high/2;j
《c语言程序设计教学课件》程序改错(自我总结) 来自淘豆网m.daumloan.com转载请标明出处.