C语言基础练习题c语言试题100道(前三十道)

c语言试题100道(前三十道)


 前三十道编程

//本身作的因为题干较为模糊可能和标准答案有所差别函数

 

1. 按下述格式,从键盘输入一个整数加法表达式:操做数1+操做数2,而后计算spa

 

并输出表达式的计算结果,形式以下:操做数1+操做数2=计算结果。设计

 

2. 输入两个整形数并打印,若是用户不慎输入了非法字符,那么程序提示“输入递归

 

数据类型错误”。it

 

3. 已知三角形的三边长a,b,c,要求编写程序,从键盘输入a,b,c的值,计算io

 

并输出三角形的面积(注意不存在的状况)。class

 

4. 编程从键盘输入圆的半径r,计算并输出圆的周长和面积。test

 

5. 任意从键盘输入一个三位整数,要求正确分离它的个位,十位和百位数,并分数据类型

 

别在屏幕上输出。

 

6. 写一个函数实现统计一个输入的整形数的位数。

 

7. 编程计算方程ax*x+bx+c=0的根,a,b,c由键盘输入,只是用主函数来实现。

 

8. 编写三个函数,分别在b*b-4*a*c大于0、小于0、等于0时进行调用,并输出

 

结果,在主函数中读入a、b、c的值。

 

9. 从键盘输入你和你朋友的年龄,变成判断谁的年龄大,并打印最大者的年龄。

 

10. 从键盘输入一个年份,判断该年是不是闰年,并输出结果。

 

11. 判断某人是否属于肥胖体型。根据身高与体重因素,医务工做者经普遍的调查

 

分析给出了如下按“体指数”对肥胖程度的划分:体指数t=w/h*h(w为体重,

 

单位为kg,h为身高,单位为m)。当t<18时,为低体重;当t介于18和25

 

之间时,为正常体重;当t介于25和27之间时,为超重体重;当t≧27时,

 

为肥胖。编程从键盘输入你的身高h和体重w,根据上式,判断体重类型。

 

12. 利用switch语句将百分制成绩转化为五分制成绩。

 

13. 利用switch语句将五分制成绩转换成对应分数范围并输出。

 

14. 编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:操做数

 

1 运算符op 操做数2 计算表达式的值,指定的运算符为加减乘除。

 

15. 利用时间函数编写一个猜数程序。

 

16. 编程实现计算n的阶乘。

 

17. 利用函数递归实现计算n!。

 

18. 利用π/4=1-1/3+1/5-1/7??计算π的值直到最后一项的绝对值小于0.0001

 

为止,要求统计总共累加了多少项。

 

19. 编程输出正三角格式的九九乘法表。

 

20. 编程输出下三角格式的九九乘法表。

 

21. 从键盘任意输入一个正整数,编程判断它是不是素数,如果素数,输出“YES”,

 

不然输出“NO!”。

 

22. 编写一个程序实现输出1—100之间全部素数。

 

23. 编写一个程序实现输出任意指定m、n之间的全部素数。

 

24. 读入一个年份和月份,打印出该月有多少天(考虑闰年),用switch语句编程。

 

25. 打印全部的水仙花数。所谓水仙花数是指一个三位数,其各位数字的立方和等

 

于该数自己。(例159=1*1*1+3*3*3+5*5*5)

 

26. 鸡兔同笼,共有98个头,386只脚,编程求鸡兔各多少只。

 

27. 用1元5角钱人名币兑换5分、2分和1分的硬币(每一种都要有)共一百枚,

 

问共有几种兑换方案?并输出每种方案。

 

28. 三色球问题。若一个口袋中放有12个球,其中有3个红色的,3个白色的,6

 

个黑色的,从中任取8个球,问共有多少种不一样的颜色搭配?

 

29. 打印100之内整数的平方根表。

 

30. 编程打印一下图案:

 

@

 

@ @ @

 

@ @ @ @ @

 

@ @ @ @ @ @ @

 

1.

#include<stdio.h>

main()

{

   int a,b;

   scanf("%d+%d",&a,&b);

   printf("%d+%d=%d",a,b,a+b);

}

2.

#include<stdio.h>

main()

{

   int a,b;

   int i,j;

    i= scanf("%d",&a);

    j= scanf("%d",&b);

   if (i==1&&j==1) printf("%d %d",a,b);

   else printf("输入类型错误!\n");

}

3.

#include<stdio.h>

#include<math.h>

main()

{

   double s,p,a,b,c,i;

   scanf("%lf%lf%lf",&a,&b,&c);

   if(a+b>c&&a+c>b&&b+c>a)

    {

   p=0.5*(a+b+c);

   i=p*(p-a)*(p-b)*(p-c);

   s=sqrt(i);

   printf("%lf",s);

    }

   else printf("输入错误");

 

}

4.

#include<stdio.h>

#define pi 4.0*atan(1.0)

main()

{

   int r;

   double s,c;

   scanf("%d",&r);

   c=2*pi*r;

   s=pi*r*r;

   printf("%lf %lf",c,s);

}

5.

#include<stdio.h>

main()

{

   int x,a,b,c;

   scanf("%d",&x);

   a=x/100;

   b=x/10%10;

   c=x%10;

   printf("%d\n%d\n%d\n",c,b,a);

}

6.

#include<stdio.h>

int my(int a)

{

   int i;

   for(i=1;i<=100;i++)

    {

       a=a/10;

       if(a==0) break;

    }

   return i;

}

main()

{

   int x,y;

   scanf("%d",&x);

   y=my(x);

   printf("%d",y);

}

题目要求用函数,若是不会函数的话能够这么写。

#include<stdio.h>

main()

{

   int x,y,i;

   scanf("%d",&x);

   for(i=1;i<=100;i++)

    {

       x=x/10;

       if(x==0) break;

    }

   printf("%d",i);

}

7.

#include<stdio.h>

#include<math.h>

main()

{

   int a,b,c,x1,x2;

   double i;

   scanf("%d%d%d",&a,&b,&c);

   i=b*b-4*a*c;

   if(i>=0)

    {

       x1=((-b)+sqrt(i))/(2*a);

       x2=((-b)-sqrt(i))/(2*a);

       printf("%d %d",x1,x2);

    }

}

8.

#include<stdio.h>

#include<math.h>

text1(double i ,int a,int b)

{

   double x1,x2;

   x1=((-b)+sqrt(i))/(2*a);

   x2=((-b)-sqrt(i))/(2*a);

   printf("%lf %lf",x1,x2);

}

text2(double i ,int a,int b)

{

   double x1,x2;

   x2=x1=((-b)+sqrt(i))/(2*a);

   printf("%lf %lf",x1,x2);

}

text3(double i ,int a,int b;)

{

   printf("无实根");

}

main()

{

   int a,b,c;

   double x1,x2,i;

   i=b*b-4*a*c;

   if(i>0) text1(i,b,c);

   else if(i=0) text2(i,b,c);

   else if(i<0) text3(i,b,c);

}

9.

#include<stdio.h>

main()

{

   double x,y;

   scanf("%lf%lf",&x,&y);

   printf("%lf",x>y?x:y);

}

10.

#include<stdio.h>

main()

{

   int x;

   scanf("%lf",&x);

   printf("%c",x%400==0?'t':'f');

}

 

 

#include<stdio.h>

main()

{

   int y;

   scanf("%d",&y);

   if(y%400==0) printf("闰年");

   else printf("平年");

}

11.

#include<stdio.h>

int main()

{

   double t,w,h;

   scanf("%lf%lf",&w,&h);

   t=w/h*h;

   if(t<18) printf("低体重");

   else if(t>=18&&t<25)printf("正常体重");

   else if(t>=25&&t<27)printf("超重体重");

   else printf("肥胖");

   return 0;

}

12.

#include<stdio.h>

int main()

{

   int a;

   scanf("%d",&a);

   a=a/10;

   switch(a)

    {

       case 10:

       case 9: printf("A");break;

       case 8: printf("B");break;

       case 7: printf("C");break;

       case 6: printf("D");break;

       default:printf("E");break;

 

    }

   return 0;

}

13.

#include<stdio.h>

int main()

{

   int a;

   scanf("%d",&a);

   a=a/10;

   switch(a)

    {

       case 10:

       case 9: printf("A");break;

       case 8: printf("B");break;

       case 7: printf("C");break;

       case 6: printf("D");break;

       default:printf("E");break;

 

    }

   return 0;

}

14.

#include<stdio.h>

int main()

{

   double a,b;

   char c;

    scanf("%lf%c%lf",&a,&c,b);

   switch(c)

    {

       case '+': printf("%lf",a+b);break;

       case '-': printf("%lf",a-b);break;

       case '*': printf("%lf",a*b);break;

       case '/':

           if(b!=0) printf("%lf",a/b);

           else printf("分母为0");

    }

   return 0;

}

15.

#include<stdio.h>

main()

{

   int magic,guess=0;

   int count=0;

   srand(time(NULL));

   magic = rand()%100+1;

   while(magic!=guess)

    {

       printf("please enter:");

       scanf("%d",&guess);

       count++;

       if(guess>magic) printf("WRONG,too big!\n");

       else if(guess<magic) printf("WRONG,too small!\n");

       else printf("RIGHT!\n");

    }

   printf("count = %d\n",count);

 

}

16.

#include<stdio.h>

main()

{

   int s=1,sum=0,i,j,n;

    scanf("%d",&n);

   for(i=1;i<=n;i++) s*=i;

   printf("%d",s);

}

17.

并未用递归作版本

#include<stdio.h>

int my(int n)

{

   int i,m;

   m=1;

   for(i=1;i<=n;i++)

    {

       m*=i;

    }

   return m;

}

main()

{

   int s,n;

   scanf("%d",&n);

s=my(n);

if(n==0||n==1) s=1;

   printf("%d",s);

}

使用递归

#include<stdio.h>

int my(int n)

{

   if(n==0||n==1) return 1;

   return my(n-1)*n;

}

main()

{

   int s,n;

   scanf("%d",&n);

   s=my(n);

   printf("%d",s);

}

18.

#include<stdio.h>

int main()

{

   int i=2,f=1;

   double pi,sum=0,t=1;

   while(t>=1e-4)

    {

       sum=sum+f*t;

       t=1.0/(2*i-1);

       i++;

       f=-f;

    }

   pi=sum*4;

   printf("%lf",pi);

}

19.

#include<stdio.h>

main()

{

   int i,j;

   for(i=1;i<=9;i++)

    {

       for(j=1;j<=i;j++)

       printf("%d*%d=%d ",j,i,i*j);

       printf("\n");

    }

 

}

20.

#include<stdio.h>

int main()

{

int m,n;

for(m=9;m>=1;m--)

{

for(n=1;n<=m;n++)printf("%4d",m*n);

printf("\n");

}

return 0;

}

21.

#include<stdio.h>

main()

{

   int a,i;

   scanf("%d",&a);

   for(i=2;i<=a;i++)

   if(a%i==0) break;

   printf("%s",i>=a?"Yes":"NO");

}

22.

#include<stdio.h>

main()

{

   int i,j;

   for(j=2;j<=100;j++)

    {

       for(i=2;i<=j;i++)

       if(j%i==0) break;

       if(i==j)printf("%d\n",j);

    }

 

}

#include<stdio.h>

#include<math.h>

main()

{

   int i,j,k;

   for(j=2;j<=100;j++)

    {

       k=sqrt(j);

       for(i=2;i<=k;i++)

       if(j%i==0) break;

       if(i>k)printf("%d\n",j);

    }

 

}

 

23.

#include<stdio.h>

main()

{

   int i,j,m,n;

   scanf("%d%d",&m,&n);

   for(j=m;j<=n;j++)

    {

       for(i=2;i<=j;i++)

       if(j%i==0) break;

       if(i==j)printf("%d\n",j);

    }

 

}

24.

#include<stdio.h>

main()

{

    int y,d,s;

   scanf("%d%d",&y,&d);

    if(y%400==0&&d==2)s=2;

    elseif(y%400!=0&&d==2) s=4;

    elseif(d==1||d==3||d==5||d==7||d==8||d==10||d==12) s=3;

    else s=1;

    switch(s)

    {

        case1:printf("30");break;

        case2:printf("29");break;

        case3:printf("31");break;

        case 4:printf("28");break;

    }

 

}

25.

#include<stdio.h>

main()

{

    int s,a,b,c;

    for(s=100;s<=999;s++)

    {

        a=s/100;

        b=s/10%10;

        c=s%10;

       if(s==a*a*a+b*b*b+c*c*c) printf("%d\n",s);

    }

 

}

 

#include<stdio.h>

main()

{

    int i,j,k;

    for(i=1;i<=9;i++)

    for(j=0;j<=9;j++)

    for(k=0;k<=9;k++)

   if(100*i+10*j+k==i*i*i+j*j*j+k*k*k)

    printf("%d%d%d",i,j,k);

 

}

 

 

26.

#include<stdio.h>

main()

{

   int x;

   for(x=1;x<98;x++)

   if(386==x*4+(98-x)*2) printf("%d %d",x,98-x);

}

27.

#include<stdio.h>

main()

{

   int i,j,k ,count=0;

   for(i=1;i<30;i++)//只要i!=30,j!=75,k!=150就能知足硬币三种都存在

    {

       for(j=1;j<75;j++)

       {

           for(k=1;k<98;k++)

           {

               if(i*5+j*2+k==150&&i+j+k==100)

                {

                    printf("%d %d%d\n",i,j,k);

                    count++;

                }

 

           }

       }

    }

   printf("%d",count);

}

 

#include<stdio.h>

main()

{

   int i,j,k,count=0;

   for(i=1;i<30;i++)//只要i!=30,j!=75就能知足硬币三种都存在

    {

       for(j=1;j<75;j++)

       {

           k=100-i-j;

           if(i*5+j*2+k==150)

           {

                printf("%d %d%d\n",i,j,k);

                count++;

           }

       }

    }

   printf("%d",count);

}

 

 

28

 

#include<stdio.h>

main()

{

   int i,j,k,count=0;

   for(i=1;i<=3;i++)

    {

       for(j=1;j<=3;j++)

       {

           for(k=1;k<=6;k++)

           if(i+j+k==8)count++;

       }

    }

   printf("%d",count);

}

 

#include<stdio.h>

main()

{

   int i,j,k,count=0;

   for(i=1;i<=3;i++)

   for(j=1;j<=3;j++)

   for(k=1;k<=6;k++)

   if(i+j+k==8)count++;

   printf("%d",count);

}

 

#include<stdio.h>

main()

{

   int i,j,k,count=0;

   printf(" hong   bai  hei\n");

   for(i=1;i<=3;i++)

   for(j=1;j<=3;j++)

   for(k=2;k<=6;k++)

    {

       if(i+j+k==8)

       {

       count++;

       printf("%5d%5d%5d\n",i,j,k);

       }

    }

   printf("count = %d\n",count);

}

 

29.垃圾题不说题目要求

#include<stdio.h>

#include<math.h>

int main()

{

   int i;

   double a;

   for(i=1;i<=100;i++) printf("%lf\n",(double)sqrt(i));

}

 

#include "stdio.h"

#include "math.h"

main()

{

double i;

int b=0;

printf("   0\t 1\t  2\t  3\t 4\t  5\t  6\t 7\t  8\t  9\n");

for(i = 0; i<100; i = i+1)

{

         if(i==0||i==10||i==20||i==30||i==40||i==50||i==60||i==70||i==80||i==90)

         {

    printf("%d ",b);

          b++;

          printf("%.3f\t",sqrt(i));

         }

   else

    printf("%.3f\t",sqrt(i));

}

}

#include <stdio.h>

#include <math.h>

main()

{

double i;

int b=0;

printf("   0\t  1\t 2\t  3\t  4\t 5\t  6\t  7\t 8\t  9\n");

for(i = 0; i<100; i = i+1)

{

         if((int)i%10==0)

         {

    printf("%d ",b);

          b++;

          printf("%.3f\t",sqrt(i));

         }

   else

    printf("%.3f\t",sqrt(i));

}

}

30.

#include<stdio.h>

main()

{

   int i,j;

   for(i=1;i<=4;i++)

    {

       for(j=1;j<=2*i-1;j++) printf("@");

       printf("\n");

    }

 

}