所在的位置: C++ >> C++优势 >> c语言练习题语言基础

c语言练习题语言基础

北京中科白癜风医院助力白斑圆梦征程 https://baijiahao.baidu.com/s?id=1727264872422082917&wfr=spider&for=pc

1.输入三角形的三边求三角形的面积(顺序结构)。

1.程序代码:

#includestdio.h

#includemath.h

intmain()

{

floata,b,c,s;

doublearea;

scanf("%f%f%f",a,b,c);

s=(a+b+c)/2.0;

printf("a=%.6fb=%.6fc=%.6f\n",a,b,c);

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf("area=%.6f\n",area);

return0;

}

运行结果:

a=3.b=4.c=5.

area=6.

--------------------------------

Processexitedafter12.06secondswithreturnvalue0

请按任意键继续...

2.输入一个四位数的整数,逆序输出其个、十、百、千位(顺序结构,算术运算)

2.程序代码:

#includestdio.h

intmain(){

intx,b0,b1,b2,b3;

scanf("%d",x);

b0=x%10;

x=x/10;

b1=x%10;

x=x/10;

b2=x%10;

x=x/10;

b3=x%10;

printf("%d,%d,%d,%d\n",b0,b1,b2,b3);

return0;

}

运行结果:

4,3,2,1

--------------------------------

Processexitedafter4.18secondswithreturnvalue0

请按任意键继续...

3.请输入一元二次方程的3个系数,求解该一元二次方程,包含:复数解,实解的情况。

3.程序代码:

#includestdio.h

#includemath.h

intmain()

{

doublea,b,c,d,e,p,q;

doublex1,x2;

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

if(a==0)

{

if(b==0)

{

printf("无解\n");

}

else

{

printf("x=%.2lf\n",-c/b);

}

}

else

{

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

if(d==0)

{

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

printf("x1=x2=%.2lf\n",x1,x2);

}

elseif(d0)

{

e=sqrt(d);

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

x2=(-b-e)/(2*a);

printf("x1=%.2lf\n",x1);

printf("x2=%.2lf\n",x2);

}

else

{

p=-b/(2*a);

q=sqrt(-d)/(2*a);

printf("x1=%.2lf+%.2lfi\n",p,q);

printf("x2=%.2lf-%.2lfi\n",p,q);

}

}

return0;

}

运行结果:

1-53

x1=4.30

x2=0.70

--------------------------------

Processexitedafter6.secondswithreturnvalue0

请按任意键继续...

4.输入三角形三条边,是三角形的话,判断是什么三角形(等边,等腰,普通),然后计算三角形周长和面积。

4.程序代码:

#includestdio.h

#includemath.h

intmain()

{

floata,b,c;

scanf("%f%f%f",a,b,c);

if(a+bcb+caa+cb)

{

if(a==ba==c)

printf("等边三角形\n");

elseif(a==b

a==c

b==c)

printf("等腰三角形\n");

elseif((a*a+b*b==c*c)

(a*a+c*c==b*b)

(b*b+c*c==a*a))

printf("直角三角形\n");

else

printf("普通三角形\n");

}

else

printf("不构成三角形\n");

return0;

}

运行结果

等边三角形

--------------------------------

Processexitedafter4.secondswithreturnvalue0

请按任意键继续...

5.用switch语句实现输入某年某月某日,判断这一天是这一年的第几天。

5.程序代码:

#includestdio.h

intmain()

{

intday,month,year,num=0,leap;

scanf("%d%d%d",year,month,day);

/*****先计算某月以前月份的总天数*****/

/**********Begin**********/

switch(month)

{

case12:num+=30;

case11:num+=31;

case10:num+=30;

case9:num+=31;

case8:num+=31;

case7:num+=30;

case6:num+=31;

case5:num+=30;

case4:num+=31;

case3:num+=28;

case2:num+=31;

}

/**********End**********/

/*****再加上当月的天数*****/

num+=day;

/*****判断是不是闰年*****/

/**********Begin**********/

if(year%4==0year%!=0

year%==0)

leap=1;

else

leap=0;

/**********End**********/

/*****如果是闰年且月份大于2,总天数应该加一天*****/

/**********Begin**********/

if(month2)

num+=leap;

/**********End**********/

printf("这一天是这一年的第%d天",num);

return0;

}

运行结果

这一天是这一年的第天

--------------------------------

Processexitedafter9.secondswithreturnvalue0

请按任意键继续...

6.用switch语句实现输入一个不多余5位的正整数,要求①求出它是几位数②分别输出每一位数字③按逆序输出各位数字

6.程序代码:

#includestdio.h

#includemath.h

intmain()

{

intnum,y,x1,x2,x3,x4,x5,place;

scanf("%d",num);

place=log10((double)num)+1;//

/**********Begin**********/

printf("%d为%d位数\n",num,place);

y=num;

x1=y%10;

y=y/10;

x2=y%10;

y=y/10;

x3=y%10;

y=y/10;

x4=y%10;

y=y/10;

x5=y%10;

printf("顺序输出为:");

switch(place)

{

case5:printf("%d,",x5);

case4:printf("%d,",x4);

case3:printf("%d,",x3);

case2:printf("%d,",x2);

case1:printf("%d\n",x1);

}

printf("逆序输出为:");

switch(place)

{

case5:printf("%d,%d,%d,%d,%d\n",x1,x2,x3,x4,x5);

break;

case4:printf("%d,%d,%d,%d",x1,x2,x3,x4);

break;

case3:printf("%d,%d,%d",x1,x2,x3);

break;

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

break;

case1:printf("%d",x1);

}

/**********End**********/

return0;

}

运行结果

为4位数

顺序输出为:1,2,3,4

逆序输出为:4,3,2,1

--------------------------------

Processexitedafter25.32secondswithreturnvalue0

请按任意键继续...




转载请注明:http://www.aierlanlan.com/grrz/4510.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了