《C语言程序设计练习题库编程题答案.doc》由会员分享,可在线阅读,更多相关《C语言程序设计练习题库编程题答案.doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、答案1-4章练习题编程题1、#include int main() int num,a,b,c;for(num=100;num=999;num+) a=num/100; b=num/10%10; c=num%10;if(a*a*a+b*b*b+c*c*c=num)printf(%d ,num); return 0; 2、#includeint main() int a,b,c,t;scanf(%d%d%d,&a,&b,&c);if(ab)t=a;else t=b;if(ct)t=c;printf(%d,t);循环练习题编程题1、#includeint main()int i,s=0,t=1;f
2、or(i=1;i=100;i+) s=s+t*i;t=-t; printf(%d,s);2、#includeint main() int i,s1=0,s2=0,t;for(i=1;i0)s1=s1+t;else s2=s2+t;printf(%d,%d,s1,s2);3、#includeint main() int i,s=0,a,b,c;for(i=1;i=100;i+) a=i/100;b=i%100/10;c=i%10; if(a=6|b=6|c=6)s=s+i; printf(%d,s);4、#includeint main()int i,j,n=1;for(i=1;i=4;i+)
3、for(j=1;j=i;j+) printf(%d,n+%10); printf(n);5、#includeint main() int i,j;for(i=1; i=4;i+) for(j=1;j=4-i;j+) printf( ); for(j=1;j=1;i-) for(j=1;j=4-i;j+) printf( );for(j=1;j=2*i-1;j+) printf(*);printf(n); return 0;数组练习题编程题1、以十个数排序为例,进行由小到大排(1)选择法排序#include int main( ) int i,j,n=10,p,a10;int temp; for
4、(i=0;in;i+) scanf(%d,&ai);/输入十个数 printf(n 原始的一维数组是:n); for(i=0;in;i+) printf(%5d,ai); /* 输出原始的一维数组序列 */ for(i=0;in-1;i+) p=i; /*假定第i趟中最小数的位置是i*/ for(j=i+1;jn;j+) if(ajap) p=j; if(i!=p) temp=ai;ai=ap;ap=temp; printf(n排序后的一维数组:n); for(i=0;in;i+) printf(%5d,ai); /* 输出排序后的一维数组序列 */(2)比较法排序#includeint ma
5、in( ) int i,j,n=10,p,a10;int temp; for(i=0;in;i+) scanf(%d,&ai);/输入十个数 printf(n 原始的一维数组是:n); for(i=0;in;i+) printf(%5d,ai); /* 输出原始的一维数组序列 */ for(i=0;in-1;i+) for(j=i+1;jaj) temp=ai;ai=aj;aj=temp; printf(n排序后的一维数组:n); for(i=0;in;i+) printf(%5d,ai); /* 输出排序后的一维数组序列 */2、以在十个数据(由小到大排列的十个数)中插入一个数为例#incl
6、ude int main( )int a11,i,n=10,k; int point; printf(n 请输入原始数据:n);for(i=0;in;i+) scanf(%d,&ai); /*输入原始数据,输入的数据要从小到大*/ printf(n 原始数据是:n); for(i=0;in;i+) printf(%5d,ai); /* 输出原始的一维数组序列 */ printf(n请输入要插入的数); scanf(%d,&k); /*输入要插入的数据*/ for(i=0;ik) point=i; break; if(i!=n) for(i=n;ipoint;i-) ai=ai-1; apoin
7、t=k; /*从后向前方式*/ else an=k; printf(插入后的数是:n); for(i=0;in+1;i+) printf(%4d ,ai); /* 输出插入后的一维数组序列 */5、以5个数逆序存放为例,将n值修改,则可实现n个数逆序存放#include #define n 5 /n为符号常量,值为5int main( ) int i,an,t;for(i=0;in;i+)scanf(%d,&ai);/输入n个数 for(i=0;in/2;i+) /将a0与a4交换,a1与a3交换,ai与an-1-i交换 t=ai;ai=an-1-i;an-1-i=t;for(i=0;in;i
8、+)/输出n个数 printf(%5d,ai); printf(n);6、杨辉三角#include int main( ) int i,j,a1010; for(i=0;i10;i+) for(j=0;j=i;j+) if(j=0|i=j)aij=1; else aij=ai-1j+ai-1j-1; for(i=0;i10;i+) for(j=0;j=i;j+) printf(%5d,aij); printf(n); 9、Fibonacci数列前20项数值#include int main( ) int i; long f20; f0=1;f1=1; for(i=2;i20;i+) fi=fi
9、-1+fi-2; for(i=0;i20;i+) if(i%5=0) printf(n);/每行五个元素 printf(%10ld,fi); 10、输入10个元素,统计奇数的个数#include int main( ) int i,num10,count=0; for(i=0;i10;i+) printf(请输入第 %d个数 : ,i+1); /*给予输入提示*/ scanf(%d,&numi); if(numi%2!=0) count+; printf(奇数个数是:%dn,count );函数练习题编程题1、输入x,输出y#include double fun(double x) double y; if(x11)y=58; else if(x=-9)y=2*x+9; else y=x*x+x+8; return y; int main() double x,y; scanf(%lf,&x); y=fun(x); printf(%lfn,y);