1、在学校 C 语言考试中会有两道编程题,大概一道是自定义函数,一个是一个整体函数。而一道编程题得分格式:即你一点不会将他抄上去也会有分:一:头文件现在大家用的仅为一下,全填上#include “math.h“ #include “stdio.h“ #include 二、主函数main()Int i,j; 声明变量Char a,b;若有自定义函数则Void/int/char/ 函数名(参数 1,参数 2.)Int m,n;并在 main 函数中声明变量后加Void/int/char/ 函数名(参数 1,参数 2.) ;经典语句:if else 语句必会While,for,switch,dowhil
2、e,至少会一个。一下为 24 道经典例题,大家可以参详一下,头文件有的没加,自添#include “math.h“ #include “stdio.h“ #include 【程序 1】 题目:有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是 1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 2.程序源代码: main() int i,j,k; printf(“n“); for(i=1;iy 则将 x 与 y 的值进行交换, 然后再用 x 与 z 进行比较,如果 xz 则将 x 与 z 的值进行交换,这样能
3、使 x 最小。 2.程序源代码: main() int x,y,z,t; scanf(“%d%d%d“, 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 %dn“,x,y,z); = 【程序 4】 题目:输出 9*9 口诀。 1.程序分析:分行与列考虑,共 9 行 9 列,i 控制行,j 控制列。 2.程序源代码: #include “stdio.h“ main() int i,j,re
4、sult; 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“, printf(“%d=“,n); for(i=2;i=90 分的同学用 A 表示,60-89 分之间的用 B 表示,60 分以下的
5、用 C 表示。 1.程序分析:(ab)?a:b 这是条件运算符的基本例子。 2.程序源代码: main() int score; char grade; printf(“please input a scoren“); scanf(“%d“, grade=score=90?A:(score=60?B:C); printf(“%d belongs to %c“,score,grade); = 【程序 9】 题目:输入两个正整数 m 和 n,求其最大公约数和最小公倍数。 1.程序分析:利用辗除法。 2.程序源代码: main() int a,b,num1,num2,temp; printf(“pl
6、ease input two numbers:n“); scanf(“%d,%d“, 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:%dn“,a); printf(“gongbeishu:%dn“,num1*num2/a); = 【程序 9】 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 1.程序分析:利用 while 语句,条件为输入的字符不为n. 2
7、.程序源代码: #include “stdio.h“ main() char c; int letters=0,space=0,digit=0,others=0; printf(“please input some charactersn“); while(c=getchar()!=n) if(c=a/*第一天的桃子数是第 2 天桃子数加 1 后的 2 倍*/x2=x1;day-;printf(“the total is %dn“,x1);=【题目:利用递归函数调用方式,将所输入的 5 个字符,以相反顺序打印出来。1.程序分析:2.程序源代码:#include “stdio.h“main()i
8、nt i=5;void palin(int n);printf(“40:“);palin(i);printf(“n“);void palin(n)int n;char next;if(naj) min=j;tem=ai;ai=amin;amin=tem;/*output data*/printf(“After sorted n“);for(i=0;iprintf(“%5d“,ai);=【程序 17】题目:求一个 3*3 矩阵对角线元素之和 1.程序分析:利用双重 for 循环控制输入二维数组,再将 aii累加后输出。2.程序源代码:main()float a33,sum=0;int i,j;p
9、rintf(“please input rectangle element:n“);for(i=0;i3;i+)for(j=0;j3;j+)scanf(“%f“,for(i=0;i3;i+)sum=sum+aii;printf(“duijiaoxian he is %6.2f“,sum);=【程序 18】题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。 2.程序源代码:main()int a11=1,4,6,9,13,16,19,28,40,100;int temp1,temp2,number,end,i,j;printf(“original array is:n“);for(i=0;i10;i+)printf(“%5d“,ai);printf(“n“);printf(“insert a new number:“);