资源预览内容
第1页 / 共65页
第2页 / 共65页
第3页 / 共65页
第4页 / 共65页
第5页 / 共65页
第6页 / 共65页
第7页 / 共65页
第8页 / 共65页
第9页 / 共65页
第10页 / 共65页
亲,该文档总共65页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
计算机等级二级 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); 【程序 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: %d %d %d/n,x,y,z); 【程序 6】 题目:用*号输出字母 C 的图案。1.程序分析:可先用*号在纸上写出字母 C,再分行输出。2.程序源代码:以下是引用片段:#include stdio.h main() printf(Hello C-world!/n); printf( */n); printf( */n); printf( * /n); printf( */n); 【程序 7】题目:输出特殊图案,请在 c 环境中运行,看一看,Very Beautiful!1.程序分析:字符共有 256 个。不同字符,图形不一样。2.程序源代码:以下是引用片段:#include stdio.h main() char a=176,b=219; printf(%c%c%c%c%c/n,b,a,a,a,b); printf(%c%c%c%c%c/n,a,b,a,b,a); printf(%c%c%c%c%c/n,a,a,b,a,a); printf(%c%c%c%c%c/n,a,b,a,b,a); printf(%c%c%c%c%c/n,b,a,a,a,b); 【程序 8】题目:输出 9*9 口诀。1.程序分析:分行与列考虑,共 9 行 9 列,i 控制行,j 控制列。2.程序源代码:以下是引用片段:#include stdio.h main() int i,j,result; printf(/n); for (i=1;ik,但 n 能被 k 整除,则应打印出 k 的值,并用 n 除以 k 的商,作为新的正整数你 n,重复执行第一步。(3)如果 n 不能被 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 score/n); scanf(%d,&score); grade=score=90?Ascore=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 temp=num1; num1=num2; num2=temp; a=num1;b=num2; while(b!=0)/*利用辗除法,直到 b 为 0 为止*/ temp=a%b; a=b; b=temp; printf(gongyueshu:%d/n,a); printf(gongbeishu:%d/n,num1*num2/a); 【程序 17】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。1.程序分析:利用 while 语句,条件为输入的字符不为/n.2.程序源代码:以下是引用片段:#include stdio.h main() char c; int letters=0,space=0,digit=0,others=0; printf(please input some characters/n); while(c=getchar()!=/n) if(c=a&c=A&c=0&caj) min=j; tem=ai; ai=amin; amin=tem; /*output data*/ printf(After sorted /n); for(i=0;iprintf(,ai); 【程序 38】题目:求一个 3*3 矩阵对角线元素之和1.程序分析:利用双重 for 循环控制输入二维数组,再将 aii累加后输出。2.程序源代码:以下是引用片段:main() float a33,sum=0; int i,j; printf(please input rectangle element:/n); for(i=0;iend) a10=number; else for(i=0;inumber) temp1=ai; ai=number; for(j=i+1;j); scanf(%d,&num); printf(/40:The square for this number is %d /n,SQ(num); if(num=50) again=TRUE; else again=FALSE; 【程序 47】题目:宏#define 命令练习(2)1.程序分析:2.程序源代码:以下是引用片段:#include stdio.h #define exchange(a,b) / /* 宏定义中允许包含两道衣裳命令的情形,此时必须在最右边加上/*/ int t; t=a;a=b;b=t; void main(void) int x=10; int y=20; printf(x=%d; y=%d/n,x,y); exchange(x,y); printf(x=%d; y=%d/n,x,y); 【程序 48】题目:宏#define 命令练习(3)1.程序分析:2.程序源代码:以下是引用片段:#define LAG #define SMA y)?x:y #define MINIMUM(x,y) (xy)?y:x void main() int a=10,b=20; #ifdef MAX printf(/40: The larger one is %d/n,MAXIMUM(a,b); #else printf(/40: The lower one is %d/n,MINIMUM(a,b); #endif #ifndef MIN printf(/40: The lower one is %d/n,MINIMUM(a,b); #else printf(/40: The larger one is %d/n,MAXIMUM(a,b); #endif #undef MAX #ifdef MAX printf(/40: The larger one is %d/n,MAXIMUM(a,b); #else printf(/40: The lower one is %d/n,MINIMUM(a,b); #endif #define MIN #ifndef MIN printf(/40: The lower one is %d/n,MINIMUM(a,b); #else printf(/40: The larger one is %d/n,MAXIMUM(a,b); #endif 【程序 50】题目:#include 的应用练习1.程序分析:2.程序源代码:test.h 文件如下: 以下是引用片段:#define LAG #define SMA 4; c=(0=RIGHT) dx1=-dx1; if(y1=BOTTOM) dy1=-dy1; if(x2=RIGHT) dx2=-dx2; if(y2=BOTTOM) dy2=-dy2; if(+countLINES) setcolor(color); color=(color=MAXCOLOR)?0:+color; closegraph(); 【程序 61】题目:打印出杨辉三角形(要求打印出 10 行如下图)1.程序分析:11 11 2 11 3 3 11 4 6 4 11 5 10105 12.程序源代码:以下是引用片段:main() int i,j; int a1010; printf(/n); for(i=0;in2) swap(pointer1,pointer2); if(n1n3) swap(pointer1,pointer3); if(n2n3) swap(pointer2,pointer3); printf(the sorted numbers are:%d,%d,%d/n,n1,n2,n3); swap(p1,p2) int *p1,*p2; int p; p=*p1;*p1=*p2;*p2=p; 【程序 67】题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。1.程序分析:谭浩强的书中答案有问题。2.程序源代码:以下是引用片段:main() int number10; input(number); max_min(number); output(number); input(number) int number10; int i; for(i=0;i*max) max=p; else if(*parray;p-) *p=*(p-1); *array=array_end; m-; if(m0) move(array,n,m); 【程序 69】题目:有 n 个人围成一圈,顺序排号。从第一个人开始报数(从 1 到 3 报数) ,凡报到 3 的人退出圈子,问最后留下的是原来第几号的那位。1. 程序分析:2.程序源代
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号