选择结构程序设计习题

  • 格式:doc
  • 大小:38.00 KB
  • 文档页数:10

精选文档,供参考! 选择结构程序设计练习

1. 从键盘输入一个字符型数据,若输入一个数字字符('0'-'9'),则将其转换成相应的整数显示出来;若输入其它字符,则显示出错信息。

[提示] 根据字符型数据的ASCII码值是否在‘0’字符与‘9’字符之间进行判断。 使用if…else…语句 。

#include "stdio.h"

int main()

{

char ch;

int dch;

printf("请输入一个字符:\n");

scanf("%c",&ch);

printf("输入的字符是:%c\n",ch);

if(ch>='0'&&ch<='9')

{

dch=ch-'0';

printf("%c对应的整数是:%d\n",ch,dch);

}

else

{

printf("%c不是数字字符\n",ch);

}

} 精选文档,供参考!

2. 编写一个程序,其功能为:从键盘输入三个数x、y、z,判断x+y=z是否成立,若成立输出“x+y=z”的信息,否则输出“x+y!=z”的信息。

[提示] 条件判断表达式x+y==z

3. 编写一个程序,其功能为:输入三个整数,输出最大数和最小数。

[提示] 设置最大值变量max和最小值变量min;首先比较a,b的大小,并把大数存入max, 小数存入min;然后最大值变量max和最小值变量min再与c比较,若c大于max,则max取值c,否则保持不变;如果c小于min,则min取值c,否则保持不变。最后输出max和min的值。使用if…else…语句、if语句以及复合语句。

#include "stdio.h"

int main()

{

float x,y,z;

printf("请输入x,y,z:\n");

scanf("%f%f%f",&x,&y,&z);

if(x+y==z)

printf("x+y=z\n");

else

printf("x+y!=z\n");

}

精选文档,供参考!

#include "stdio.h"

int main()

{

int a,b,c,max,min;

printf("请输入三个整数a,b,c:\n");

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

printf("三个整数为:\n");

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

if(a>b)

{

max=a;

min=b;

}

else

{

max=b;

min=a;

}

if(c>max) max=c;

if(c

printf("max=%d min=%d\n",max,min);

}

使用条件算符:

x=(a>b?a:b); max=(c>x?c:x);

x=(a

#include "stdio.h"

void main()

{

int m,c1,c2,c;

printf("请输入生产数量:\n");

scanf("%d",&m);

if(m<10000)

{

c1=20000;

c2=10;

}

else

{

c1=40000;

c2=5;

}

c=c1+m*c2;

printf("生产数量=%d\n",m);

printf("总成本=%d\n",c);

printf("单位生产成本=%d\n",m*c2);

}

精选文档,供参考!

5. 分段函数的计算。 编写一个程序,计算下列函数:

y=

x x<1

2x-1 1≤x<10

3x-11 x≥10

[提示]根据输入的x值的取值,计算y的值并输出。使用if…else if语句以及复合语句。 精选文档,供参考!

6. 编写程序,输入三角形三边 a、b、c,判断a、b、c能否构成三角形,若不能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形。

[提示]利用三角形两边之和大于第三边判断是否能够构成三角形,能够成三角形时再以等腰、等边、直角三角形的条件进行判断。

#include "stdio.h"

void main()

{

float x,y;

printf("请输入x:\n");

scanf("%f",&x);

printf("输入x=:%f\n",x);

if(x<1)

{

y=x;

printf("y=%f\n",y);

}

else if(x>=1&&x<10)

{

y=2*x-1;

printf("y=%f\n",y);

}

else

{

y=3*x-11;

printf("y=%f\n",y);

}

}

精选文档,供参考!

7. 某个电力公司对其用户的收费规定如下:

用电数量 收费标准

0~200 x*0.5元

201~400 100+(x-200)*0.65元 #include "stdio.h"

void main()

{

float a,b,c;

printf("请输入a,b,c:\n");

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

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

{

if(a==b&&b==c&&c==a)

printf("a=%f b=%f c=%f 构成等边三角形!\n",a,b,c);

else

if(a==b||b==c||c==a)

printf("a=%f b=%f c=%f 构成等腰三角形!\n",a,b,c);

else if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b)

printf("a=%f b=%f c=%f 构成直角三角形!\n",a,b,c);

else

printf("a=%f b=%f c=%f 构成一般三角形!\n",a,b,c);

}

else

printf("a=%f b=%f c=%f 不能构成三角形!\n",a,b,c);

}

精选文档,供参考! 401~600 230+(x-400)*0.8元

601以上 390+(x-600)*1.0元

编写程序,对于一个输入的用电数量,计算用户的缴费额。

[提示] 用if…else if语句实现。注意输入负数时的处理。

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

操作数1 运算符op 操作数2

计算表达式的值,指定的运算符为加(+)、减(-)、乘(*)、除(/) #include "stdio.h"

void main()

{

double x,y;

printf("请输入用电数量x:\n");

scanf("%lf",&x);

if(x<0)

printf("输入数据有误!");

else

{

if(x>=0&&x<=200)

y=x*0.5;

else if(x>=201&&x<=400)

y=100+(x-200)*0.65;

else if(x>=401&&x<=600)

y=230+(x-400)*0.8;

else

y=390+(x-600)*1.0;

printf("x=%lf y=%lf\n",x,y);

}

}

精选文档,供参考! 例如 [输入]

Please enter the expression:22.12+12.10

[输出]

22.12+12.10=34.22

屏幕提示 键盘输入

程序输出 精选文档,供参考! #include

void main()

{ float x,y,z;

char op;

printf(“请输入表达式:”);

scanf(“%f,%c,%f”,&x,&op,&y);

switch(op)

{

case ‘+’: z=x+y;

case ‘-’: z=x-y;

case ‘*’: z=x*y;

case ‘/’: {if (y!=0) z=x/y;

else printf(“除数为0”);}

}

printf(“%f%c%f=%f\n”,x,op,y,z);

}

(此文档部分内容来源于网络,如有侵权请告知删除,文档可自行编辑修改内容,供参考,感谢您的支持)