您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 2011二级C语言程序改错题汇总
C题库改程题汇总1索引循环4.组合11.二分法求根多函数精度数据类型12.多项式之和迭带循环终值13.多项式之和数据类型循环终值36.多项式之和23.求多项式的和包含返回值25.求PI精度正负号35.级数和终止值t=s的妙用37.PI精度34.数列前N项平方和20.菲玻那契数列第N项24.分数序列前N项和二维数组1.二维数组对角线积赋初值输入函数的正确使用(地址)一维数组26.数组找最大数次大数技巧最小值赋值27.数组统计低于平均值人数计数多种传值办法28.随机数选择排序多函数17.数组选择排序5.一维数组按要求输出似二维数组素数2.求一个整数的所有质因子判素数函数定义if条件9.按指定条件找素数判素数的关键环节33.若干素数之和技巧31.判素数指针3.求两数的平方根之和直接间接运算6.两数交换函数定义形参必分别标注数据类型30.传址形参的声明字符串14.统计各元音字母个数字串数组下标妙用字串结束数操作7.输出k以内最大的10个能被13或17整除的自然数之和逻辑等于计数器大括号18.由一个数构成另一个数的技巧(数的逐位取出由小变大)逻辑等于19.求三个数的最小公倍数20.菲玻那契数列第N项21.字符串转成数八进制22.阶乘由大向小技巧29.公约数32.由一个数转成另一个数隔位取数15.由一个数转成另一个数16.找含5的自然数数组C题库改程题汇总2排序8.数据交换三个数的有序排放10.选择排序内层循环的起始值1.二维数组对角线积赋初值输入函数的正确使用(地址)/*1.给定程序modi.c中,fun函数的功能是;先从键盘上输入一个3行3列的距阵的各个元素的值,然后输出主对角线元素之积。请改正程序中的错误,在横线处填上适当的内容并把横线删除,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。以下不再提示*/#includestdio.hintfun(){inta[3][3],sum;inti,j;/************found************/_______;sum=1;for(i=0;i3;i++){for(j=0;j3;j++)/************found************/scanf(%da[i][j]);scanf(%d,a[i]+j);#scanf(%d,&a[i][j]);#scanf(%d,*(a+i)+j);}for(i=0;i3;i++)sum=sum*a[i][i];printf(Sum=%d\n,sum);}main(){fun();}2.求一个整数的所有质因子判素数/*2给定程序modi.c的功能是:读入一个整数k(2=K=10000),打印它的所有质因子(即所有为素数的因子)。例如,若输入整数2310,则应输出:2、3、5、7、11。*/#includeconio.h#includestdio.h/************found************/Isprime(intn);Isprime(intn){inti,m;m=1;for(i=2;in;i++)/************found************/if!(n%i)if(!(n%i))#if(n%i==0){m=0;break;}return(m);}main(){intj,k;C题库改程题汇总3clrscr();printf(\nPleaseenteranintegernumberbetween2and10000:);scanf(%d,&k);printf(\n\nTheprimefactor(s)of%dis(are):,k);for(j=2;j=k;j++)if((!(k%j))&&(Isprime(j)))printf(\n%4d,j);printf(\n);}3.求两数的平方根之和地址与地址中的内容/*3.输入二个双精度数,函数返回它们的平方根之和.例如:输入22.993612和84.57629872,则输出:y=13.991703.*/#includestdio.h#includeconio.h#includemath.h/**********found**********/doublefun(double*a,*b)doublefun(double*a,double*b)#doublefun(double*b,double*a){doublec;/**********found**********/c=sqrt(a)+sqrt(b);c=sqrt(*b)+sqrt(*a);#c=sqrt(*a)+sqrt(*b);returnc;}main(){doublea,b,y;clrscr();printf(Entera,b:);scanf(%lf%lf,&a,&b);y=fun(&a,&b);printf(y=%f\n,y);}4.组合/*4给定程序modi.c中函数fun的功能是:从3个红球,5个白球,6个黑球中任意取出8个作为一组,进行输出。在每组中,可以没有黑球,但必须要有红球和白球。组合数作为函数值返回。正确的组合数应该是15。程序中i的值代表红球数,j的值代表白球数,k的值代表黑球数。*/#includestdio.hintfun(){inti,j,k,sum=0;printf(\nTheresult:\n\n);/**************found**************/for(i=0;i=3;i++)for(i=1;i=3;i++){for(j=1;j=5;j++){k=8-i-j;/**************found**************/if(k=1&&k=6)if(k=0&&k=6)C题库改程题汇总4{sum=sum+1;printf(red:%4dwhite:%4dblack:%4d\n,i,j,k);}}}returnsum;}main(){intsum;sum=fun();printf(sum=%4d\n\n,sum);}5.一维数组按要求输出似二维数组/*5给定程序modi.c中函数fun的功能是:给一维数组a输入任意4个整数,并按下例的规律输出。例如输入1、2、3、4,程序运行后将输出以下方阵。4123341223411234*/#includestdio.h#defineM4/**************found**************/voidfun(inta)voidfun(int*a){inti,j,k,m;printf(Enter4number:);for(i=0;iM;i++)scanf(%d,&a[i]);printf(\n\nTheresult:\n\n);for(i=M;i0;i--){k=a[M-1];for(j=M-1;j0;j--)/**************found**************/a[j]=a[j+1];a[j]=a[j-1];a[0]=k;for(m=0;mM;m++)printf(%d,a[m]);printf(\n);}}main(){inta[M];fun(a);printf(\n\n);}6.两数交换传址形参必分别标注数据类型/*6给定程序modi.c中,函数fun的功能是:实现两个整数的交换。C题库改程题汇总5例如给a和b分别输入:60和65,输出为:a=65b=60*/#includestdio.h#includeconio.h/************found************/voidfun(inta,b)voidfun(int*a,int*b)#voidfun(int*b,int*a){intt;/************found************/t=b;b=a;a=t;t=*b;*b=*a;*a=t;#t=*a;*a=*b;*b=t;}main(){inta,b;clrscr();printf(Entera,b:);scanf(%d%d,&a,&b);fun(&a,&b);printf(a=%db=%d\n,a,b);}7.逻辑等于计数器输出k以内最大的10个能被13或17整除的自然数之和/*7给定程序modi.c中,函数fun的功能是:计算并输出k以内最大的10个能被13或17整除的自然数之和。k的值由主函数传入,若k的值为500,则函数值为4622。*/#includeconio.h#includestdio.hintfun(intk){intm=0,mc=0,j;while((k=2)&&(mc10))/************found************/{if((k%13=0)||(k%17=0)){if(k%17==0||k%13==0)#{if(k%13==0||k%17==0){m=m+k;mc++;}k--;}returnm;/************found************/_____}main(){clrscr();printf(%d\n,fun(500));}8.数据交换三个数的有序排放/*8.把主函数中输入的3个数,最大的放入a中,最小的放入c中,若输入:551234.则输出:a=55.0,b=34.0,c=12.0.*/#includestdio.hvoidfun(float*p,float*q,float*s){/************found************/float*k;floatk;C题库改程题汇总6if(*p*q){k=*p;*p=*q;*q=k;}/************found************/if(*s*p)if(*p*s)#if(*s*p)#if(0*p-*s)#if(*p-*s0){k=*s;*s=*p;*p=k;}if(*q*s){k=*q;*q=*s;*s=k;}}main(){floata,b,c;printf(Inputabc:);scanf(%f%f%f,&a,&b,&c);printf(a=%4.1f,b=%4.1f,c=%4.1f\n\n,a,b,c);fun(&a,&b,&c);printf(a=%4.1f,b=%4.1f,c=%4.1f\n\n,a,b,c);}9.按指定条件找素数判素数的关键环节/*9.给定程序modi.c中,函数fun的功能是:找出一个大于给定整数m且紧随m的素数,并作为函数值返回。*/#includeconio.h#includestdio.hintfun(intm){inti,k;for(i=m+1;;i++){for(k=2;ki;k++)/************found************/if(i%k!=0)if(i%k==0)break;/************found************/if(ki)if(k==i)#if(k=i)#if(i=k)#if(i==k)return(i);}}main(){intn;clrscr();printf(\nPleaseentern:);scanf(%d,&n);printf(%d\n,fun(n));}10.内层循环的起始终止值选择排序/*10.给定程序modi.c中,函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。*/#includestdio.h#defineN20voidfun(inta[],intn)C题库改程题汇总7{inti,j,t,p;for(j=0;jn-1;j++){/************found************/p=j;for(i=0;in;i++)for(i=j;in;i++)#for(i=j+1;in;i++)if(a[i]a[p])/************found************/p=j;p=i;t=a[p]
本文标题:2011二级C语言程序改错题汇总
链接地址:https://www.777doc.com/doc-6356551 .html