c语言程序设计题 一.分支与跳转 (if else switch continue break case default goto)
1.利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include  <stdio.h>  int  main () int  sc;scanf ("%d" , &sc);if  (sc >= 90 )printf ("A\n" );else  if  (sc >= 60  && sc <= 89 )printf ("B\n" );else printf ("C\n" );return  0 ;
二.循环 (while  for  do…while)
1.计算下列表达式:s=1!+2!+3!+4!+……+10!
1 2 3 4 5 6 7 8 9 10 11 12 13 #include  <stdio.h>  int  main () int  i;int  t=1 , s=0 ;for  (i = 1 ; i <= 10 ; i++)printf ("%d" , s);return  0 ;
2.九九乘法表(3种循环解决)
for循环:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #include  <stdio.h>  int  main () int  i; int  j;for  (i = 1 ; i <= 9 ; i++)for  (j = 1 ; j <= i; j++)printf ("%d*%d=%2d " , j, i, i * j);printf ("\n" );return  0 ;
while:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include  <stdio.h>  int  main () int  row = 1 ;while  (row <= 9 )int  col = 1 ;while  (col <= row)printf ("%d * %d = %d\t" , col, row, col * row);1 ;printf ("\n" );1 ;return  0 ;
 do while:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include <stdio.h>  int  main  () int  i=1 ,j;do {1 ;do {printf ("%d*%d=%d " ,i,j,i*j);while (j<=i);printf ("\n" ); while (i<=9 );
三.数组 1.将一个一维数组{1,2,3,4,5,6,7,8,9,10}的成员逆序后输出
正确的结果为:10 9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include <stdio.h>  int  main () int  a[10 ]={1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 };int  t,i;for (i=0 ;i<5 ;i++)9 -i];  9 -i]=t;for (i=0 ;i<10 ;i++)printf ("%d " ,a[i]);printf ("\n" );return  0 ;
2.打印杨辉三角前n行(二维数组)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 #include  <stdio.h>  int  arr[31 ][31 ] = { 0  };void  init (int  n) int  i, j;for  (i = 0 ; i < n; i++)for  (j = 0 ; j <= i; j++)if  (j == 0  || j == i)1 ;else 1 ][j] + arr[i - 1 ][j - 1 ];int  main () 30 );int  n, i, j;scanf ("%d" , &n);for  (i = 0 ; i < n; i++)for  (j = 0 ; j <= i; j++)if  (j != i)printf ("%d " , arr[i][j]);else printf ("%d" , arr[i][j]);printf ("\n" );printf ("\n" );return  0 ;1 1    2    1 1    3    3    1 1    4    6    4    1 
四.经典题 1.输入两个正整数m和n,求其最大公约数。
(辗转相除法)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #include  <stdio.h>  int  main () int  a, b , temp;scanf ("%d%d"  ,&a, &b);if  (a < b)while  (b != 0 )printf ("最大公约数:%d\n " , a);return  0 ;int  gcd (int  a,int  b)  return  b > 0  ? gcd(b, a % b) : a;
2.水仙花数:
打印出所有得“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身,例如,152是水仙花数,因为153=1×1×1+5×5×5+3×3×3。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #include  <stdio.h>  int  main () int  i,j,k,n;printf ("水仙花数是:" );for (n=100 ;n<1000 ;n++)100 ;10 %10 ;10 ;if (i*100 +j*10 +k==i*i*i+j*j*j+k*k*k)printf ("%d " ,n);return  0 ;
3.求素数(2–100之间)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 void  FindPrime () int  i = 0 ; int  j = 0 ;for  (i = 1 ; i <= 100 ; i++)for  ( j = 2 ; j <= i; j++)if  (i % j == 0 )break ;if (i==j)printf ("%d " , i);int  main () return  0 ;
4.冒泡排序:(排序(冒泡排序,选择排序,插入排序,归并排序,快速排序,计数排序,基数排序) - VisuAlgo )
从键盘输入的10个整数按从小到大的顺序排序后输出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include <stdio.h> 	 int  main () int  n[10 ] = { 25 ,35 ,68 ,79 ,21 ,13 ,98 ,7 ,16 ,62  };int  i, j, temp;for  (i = 1 ; i <= 9 ; i++)for  (j = 0 ; j <= 9  - i; j++)if  (n[j] > n[j + 1 ])1 ];1 ] = temp;printf ("排序过后的数顺序:\n" );for  (i = 0 ; i < 10 ; i++)printf ("%d " , n[i]);printf ("\n" );
五.指针 1.使用指针方法,计算两个数组 中各元素对应位置的和,和的结果存入第三个数组中,然后输出。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #include  <stdio.h>  void  count (int  *p1,int  *p2,int  *p3,int  x) int  i;for (i=0 ;i<x;i++)printf ("两个数组对应各元素和分别为:\n" );for (i=0 ;i<x;i++)printf ("%d " ,p3[i]);int  main () int  arr01[4 ]={2 ,4 ,5 ,8 };int  arr02[4 ]={1 ,0 ,4 ,6 };int  arr03[4 ];4 );
2.输出值为:at
(二级)
1 2 3 4 5 6 7 8 9 #include  <stdio.h>  int  main () char * a[] = { "work" ,"at" ,"alibaba"  };char ** pa = a;printf ("%s\n" , *pa);return  0 ;
char* a[]为指针数组,是数组用来存放指针,该数组有三个元素,分别是三个字符串的地址。
pa = a;是将数组a的首元素的地址放入二级指针变量pa中。
pa++:即为a++,从数组首元素的地址变为第二个元素的地址。
*pa:此时pa为a[1],也就是第二个元素表示字符串的首地址,以%s的形式输出,依次打印字符串。
六.递归 1.用递归的方法求正整数N的阶乘
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include <stdio.h>  long  jiecheng (int  n) long  p;if (n==0 ||n==1 )1 ;else -1 );return  p;int  main () int  n;scanf ("%d" ,&n);printf ("%d" ,jiecheng(n));return  0 ;
至此,面向考试的题就都讲完了,最后祝大家都能在考试中取得自己满意的成绩!