《C语言程序设计入门经典例题.doc》由会员分享,可在线阅读,更多相关《C语言程序设计入门经典例题.doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1、加法练习程序:由用户通过键盘输入加数和被加数,程序显示加法式子,用户通过键盘作答后,程序给出正确与错误提示信息。要求:利用C的选择语句if条件语句或switch开关语句,键盘输入数据前,程序会出被输入数据的信息提示。#includevoid main() int a,b,c; printf(please put an addend:n);scanf(%d,&a); printf(please put an augend:n);scanf(%d,&b); printf(please answer the question:a+b=?);scanf(%d,&c);if(a+b=c) print
2、f(very good!);else printf(wrong! );个人感觉这个程序最不好的地方是,不管回答正确还是回答错误,程都会立即结束,所以我用了dowhile实现一个回答错误之后获得再次回答机会的循环,则程序修改如下:#includevoid main() int a,b,c; printf(请输入一个加数:n);scanf(%d,&a); printf(请输入一个被加数:n);scanf(%d,&b);doprintf(请回答:a+b=);scanf(%d,&c);if(a+b!=c)printf(请再想一想n);while(a+b=c) printf(回答正确!);2、判闰年程序
3、:判断某一年是否闰年?要求:程序首先提示用户从键盘输入4位数年份,程序能显示“XXXX年是闰年”或“XXXX年不闰年”的输出信息。算法:year 是闰年,即year能被4整除但不能被100整除,或 year 能被 400 整除。其对应的C逻辑表达式为:(year % 4 = = 0 & year % 100 != 0) | (year % 400 = = 0)或: (!(year % 4) & year % 100) | !(year % 400 )程序中可设置1个变量leap来代表是否闰年的信息,闰年:leap=1; 不闰年:leap=0。#includevoid main() int ye
4、ar; printf(请输入4位数年份:);scanf(%d,&year);if(year%4=0&year%100!=0|year%400=0)/闰年就是能被4整除但不能被100整除及能被400整除的 printf(%d是闰年,year);else printf(%d不是闰年,year);3、三角形九九表程序:要求选择C实现循环的4种方法(if+go, for语句,while语句,dowhile语句)中的一种,比如,最好选择for语句来实现如下形式的“九九表”输出。#includevoid main() int a,b,c;for(a=1;a=9;a+)/纵列表数每循环完一次换行for(b=
5、1;b=9;b+)if(b=a) printf( %d,a*b); printf(n);4、平面等腰三角形: 要求利用C的for循环实现如下平面图形输出。如图,等腰三角形有6层,则#includeviod main() int a,b,c;/a,b,c分别是层数变量, 变量,*变量for(a=1;a=1;b-) printf( );for(c=1;c=2*a-1;c+) printf(*); printf(n);5、平面倒立等腰三角形: 要求利用C的for循环实现如下平面图形输出。#includeviod main() int a,b,c;/a,b,c分别是层数变量, 变量,*变量for(a=
6、6;a=1;a-)for(b=6-a;b=1;b+) printf( );for(c=11;c=2*a-1;c-) printf(*) printf(n);6、 判素数:要求由用户从键盘输入任一正整数m, 程序输出m是否素数的信息。#includeviod main() int m,n; printf(请输入任一正整数m:);scanf(%d,&m);If(m=0|m=1); printf(%d不是素数,m);/0和1既不是素数也不是合数for(n=2;nm;n+)if(m%n=0)printf(%d不是素数,m);break;else printf(%d是素数“,m);7、计算:1!+2!+
7、3!+.+9!#includevoid main() int i;long p=1;double s=0.0;for(i=1;i=9;i+)p*=i;S+=p; printf(1!+2!+3!+9!=%fn,s);8、计算:1!+3!+5!+.+15!#includevoid main() int i;long p=1;double s=0.0;for(i=1;i=15;i+)p*=i;if(i%2!=0) s+=p; printf(1!+3!+5!+15!=%tn,s);9、计算:2!+4!+6!+.+16!#includevoid main() int i;long p=1;double
8、s=0.0;for(i=1;i=16;i+)p*=i;if(i%2=0) s=s+p; printf(2!+4!+6!+16!=%tn,s);10、利用“比较交换法”对由用户从键盘输入的任意10个整数升序排序。要求:利用C的数组和循环,程序能分别输出排序前后的数组。#include void main()int i,s,a10,t;/数组下标变量i printf(请输入10个整数:n);for(i=0;i=9;i+) scanf(%d,&ai);/将10个整数分别存入该数组的下标0到9这10个位置中去for(i=0;i9;i+)for(s=i+1;sas)t=ai; ai=as; as=t;
9、/将数组中的数两两逐个比较换位,实现升序 printf(排序后的数组为:n);for(i=0;i=9;i+)printf(%d ,ai); 11、统计:由用户从键盘输入任意10个数,统计其中最大数,最小数及平均值。#includevoid main()int i,s,a10,t,sum;double n;printf(输入任意10个整数:n);for(i=0;i=9;i+) scanf(%d ,&ai);for(i=0;i=9;i+) printf(%d ,ai); for(i=0;i=9;i+)for(s=i+1;sas)t=ai; ai=as; as=t; /实现10数升序排列for(i=0,1=9,i+) sum+=ai; n=sum/10; printf(10个数的最大是:%dn 10个数的最小是:%dn 10个数的平均是:%tn,a9,a0,n);12、由二维数组实现矩阵:定义数组int a54; 实现5行4列矩阵输出。要求:矩阵元按数组的逻辑顺序依次是120间的自然数。提示:用双重for循环与二维数组的按行输出。#includevoid main() int i,j,s=1; int a54;for(i=0;i=4;i+)for(j=0;j=3;j+)for(aj=s;s=20;s+) printf( ); printf(%4d,aij); printf(n);
限制150内