C语言基础练习题含答案 下载本文

scanf(%f%f%f”,&a,&b,&c); if (【1】)

if (【2】) printf(”no answer due to input error\\n”); else printf(”the single root is %f\\n”, - c/b); else

{ disc=b*b-4*a*c; w=2*a;

term1= -b/w;

t=abs(disc); term2=sqrt(t)/w; if (【3】)

printf(”complex root\\n real part=%f imag part =%f\\n”, term1,term2);

else

printf(”real roots\\n root1=%f root2=%f\\n”, term1+term2,term1-term2);

} }

12.以下程序根据输入的三角形的三边判断是否能组成三角形,

若可以则输出它的面积和三角形的类型。请在【】内填入正确内容。

#include ”math.h” #include ”stdio.h” main() {

float a,b,c,s,area;

printf(”please input three edges of a triangle:”); scanf(”%f%f%f”,&a,&b,&c);

if (【1】)

{ s=(a+b+c)/2;

area=sqrt(s*(s-A*(s-B*(s-c));

printf(”\\nthe area of the triangle is: %f”,area); if ((a==b)&&(b==c))

printf(”等边三角形”); else if (【2】)

printf(”等腰三角形”): else if (【3】)

printf(”直角三角形”):

else printf(”一般三角形”): }

else printf(”不能组成三角形”);

}

13.以下程序的功能是判断输入的年份是否是闰年。请在【】内填入正确内容。

#include ”stdio.h” main() {

int year, flag;

printf(”please input the year to jude whether year:”);

scanf(”%d”,&year);

if (year@0==0) flag=1; else if (【1】) flag=1; else 【2】;

if (flag) printf(”%d is a leap year\\n”,year); else printf(”%d is not a leap year!\\n”,year); }

14.以下程序是对用户输入的字母进行大小写转换。请在【】内填入正确内容。

#include ”stdio.h” main()

it is a leap

{

char ch;

printf(”please input a letter:”); scanf(”%c”,&ch); if (【1】) ch=ch+32;

else if (ch>=’a’ && ch<=’z’) 【2】;

printf(” the converted letter is: %c\\n”,ch); }

15.以下程序是对从键盘输入的任何三个整数,求出其中的最小

值。请在【】内填入正确内容。 #include ”stdio.h” main() {

int a,b,c,min;

printf(”please input three numbers:”); scanf(”%d%d%d”,&a,&b,&c); if (【1】) min=b; else

min=a; if (min>c)

【2】;

printf(”min=%d\\n”,min); } 16.以下程序实现这样的功能:商店卖西瓜,10斤以上的每斤0.15

元,8斤以上的每斤0.3元,6斤以上的每斤0.4元,4斤以上的每斤0.6元,4斤以下的每斤0.8元,从键盘输入西瓜的重量和顾客所付钱数,则输出应付款和应找钱数。请在【】内填入正确内容。

#include ”stdio.h” main() {

float weight, money, rate;

printf(”the paid money of the client is:”); scanf(”%f”,&money);

printf(”the weight of the watermelon is:”); scanf(”%f”,&weight); if (【1】)

rate=0.15; else if (weight>8) rate=0.3; else if (weight>6) 【2】; else if (weight>4)

rate=0.6;

【3】

rate=0.8;

printf(”the account payable of the watermelon is %f\\n”,

weight*rate);

printf(”the change for client is %f\\n”,money-weight*rate); }

17.以下程序段的运行结果是________。

#include ”stdio.h” main() {

char ch1=’a’,ch2=’A’; switch (ch1) { case ’a’:

switch (ch2)

{case ’A’: printf(”good!\\n”); break;

case ’B’: printf(”bad!\\n”); break; }

case ’b’: printf(”joke\\n”); } }

18.根据以下函数关系,对输入的每个x值,计算出相应的y值。

请在【】内填入正确内容。

x y x<0 0 0<=x<1x 0 10<=x<10 20 20<=x<-0.5x+240 0 #include ”stdio.h” main() {

int x, rate;

float y;

printf(”please input the value of x:”); scanf(”%d”,&x); if (【1】) rate= -1; else rate=【2】; switch(rate)

{ case –1: y=0; break;

case 0: y=x; break; case 1: y=10; break; case 2:

case 3: y=-0.5*x+20; break; default: y= -2;