《C语言编程100题》由会员分享,可在线阅读,更多相关《C语言编程100题(31页珍藏版)》请在人人文库网上搜索。
1、经典C语言程序设计100例【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。 2.程序源代码:main()int i,j,k;printf(n);for(i=1;i2)/*如果是闰年且月份大于2,总天数应该加一天*/sum+;printf(It is the %dth day.,sum);#includeint main()int year,month,date,leap,days=0;scanf(%d%d%d,&year,&month,&date);。
2、leap=(year%4=0&year%100!=0|year%400=0);switch(month)case 12:days+=30;case 11:days+=31;case 10:days+=30;case 9:days+=31;case 8:days+=31;case 7:days+=30;case 6:days+=31;case 5:days+=30;case 4:days+=31;case 3:days+=28+leap;case 2:days+=31;case 1:days+=date;break;printf(%4d年%2d月%2d日是这一年的第%d天。n,year,mont。
3、h,date,days);return 0;-【程序5】题目:输入三个整数x,y,z,请把这三个数由小到大输出。1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果xy则将x与y的值进行交换,然后再用x与z进行比较,如果xz则将x与z的值进行交换,这样能使x最小。2.程序源代码:main()int x,y,z,t;scanf(%d%d%d,&x,&y,&z);if (xy)t=x;x=y;y=t; /*交换x,y的值*/if(xz)t=z;z=x;x=t;/*交换x,z的值*/if(yz)t=y;y=z;z=t;/*交换z,y的值*/printf(small to big: %。
4、d %d %dn,x,y,z);-【程序6】题目:用*号输出字母C的图案。1.程序分析:可先用*号在纸上写出字母C,再分行输出。2.程序源代码:#include stdio.hmain()printf(Hello C-world!n);printf( *n);printf( *n);printf( * n);printf( *n);-【程序7】题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!1.程序分析:字符共有256个。不同字符,图形不一样。2.程序源代码:#include stdio.hmain()char a=176,b=219;printf(%c%c%c%c。
5、%cn,b,a,a,a,b);printf(%c%c%c%c%cn,a,b,a,b,a);printf(%c%c%c%c%cn,a,a,b,a,a);printf(%c%c%c%c%cn,a,b,a,b,a);printf(%c%c%c%c%cn,b,a,a,a,b);-【程序8】题目:输出9*9口诀。1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。2.程序源代码:#include stdio.hmain()int i,j,result;printf(n);for (i=1;ik,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。(3)如果n不。
6、能被k整除,则用k+1作为k的值,重复执行第一步。2.程序源代码:/* zheng int is divided yinshu*/main()int n,i;printf(nplease input a number:n);scanf(%d,&n);printf(%d=,n);for(i=2;i=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。1.程序分析:(ab)?a:b这是条件运算符的基本例子。2.程序源代码:main()int score;char grade;printf(please input a scoren);scanf(%d,&score);grade。
7、=score=90?A:(score=60?B:C);printf(%d belongs to %c,score,grade);-【程序16】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。1.程序分析:利用辗除法。2.程序源代码:main()int a,b,num1,num2,temp;printf(please input two numbers:n);scanf(%d,%d,&num1,&num2);if(num1=a&c=A&c=0&c0)x1=(x2+1)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/x2=x1;day-;printf(the total is %dn。
8、,x1);-【程序22】题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 2.程序源代码:main()char i,j,k;/*i是a的对手,j是b的对手,k是c的对手*/for(i=x;ivoid main()char letter;printf(please input the first letter of somedayn);w。
9、hile (letter=getch()!=Y)/*当所按字母为Y时才结束*/ switch (letter)case S:printf(please input second lettern);if(letter=getch()=a)printf(saturdayn);else if (letter=getch()=u)printf(sundayn);else printf(data errorn);break;case F:printf(fridayn);break;case M:printf(mondayn);break;case T:printf(please input second。
10、 lettern);if(letter=getch()=u)printf(tuesdayn);else if (letter=getch()=h)printf(thursdayn);else printf(data errorn);break;case W:printf(wednesdayn);break;default: printf(data errorn);-【程序32】题目:Press any key to change color, do you want to try it. Please hurry up!1.程序分析:2.程序源代码:#include void main(voi。
11、d)int color;for (color = 0; color void main(void)clrscr();/*清屏函数*/textbackground(2);gotoxy(1, 5);/*定位函数*/cprintf(Output at row 5 column 1n);textbackground(3);gotoxy(20, 10);cprintf(Output at row 10 column 20n);-【程序34】题目:练习函数调用1. 程序分析: 2.程序源代码:#include void hello_world(void)printf(Hello, world!n);voi。
12、d three_hellos(void)int counter;for (counter = 1; counter void main(void)int color;for (color = 1; color #include math.h#define N 101main()int i,j,line,aN;for(i=2;iaj) min=j;tem=ai;ai=amin;amin=tem;/*output data*/printf(After sorted n);for(i=0;iend)a10=number;elsefor(i=0;inumber)temp1=ai;ai=number;f。
13、or(j=i+1;j11;j+)temp2=aj;aj=temp1;temp1=temp2;break;for(i=0;i11;i+)printf(%6d,ai);-【程序40】题目:将一个数组逆序输出。1.程序分析:用第一个与最后一个交换。2.程序源代码:#define N 5main() int aN=9,6,5,4,1,i,temp;printf(n original array:n);for(i=0;iN;i+)printf(%4d,ai);for(i=0;iN/2;i+)temp=ai;ai=aN-i-1;aN-i-1=temp;printf(n sorted array:n);fo。
14、r(i=0;iN;i+)printf(%4d,ai);【程序61】题目:打印出杨辉三角形(要求打印出10行如下图)1.程序分析:11 11 2 11 3 3 11 4 6 4 11 5 10105 1 2.程序源代码:main()int i,j;int a1010;printf(n);for(i=0;i10;i+)ai0=1;aii=1;for(i=2;i10;i+)for(j=1;ji;j+)aij=ai-1j-1+ai-1j;for(i=0;i10;i+)for(j=0;j=i;j+)printf(%5d,aij);printf(n);【程序66】题目:输入3个数a,b,c,按大小顺序输出。1.程序分析:利用指针方法。2.程序源代码:/*pointer*/main()int n1,n2,n3;int *pointer1,*pointer2,。