[提示]注意公式中的除为普通除法。 参考程序:
#include
实验4 选择结构程序设计
一、实验目的
1)了解C 语言表示逻辑的方法 以0 代表“假”,以非0 代表“真”)。 2)学会正确使用逻辑运算符和逻辑表达式。 3)熟练掌握if 语句和switch 语句。 4 )结合程序掌握一些简单的算法。
二、实验内容
[题目1120:判断点是否在圆 ]
由键盘输入一个点的坐标, 要求编程判断这个点是否在单位圆上,点在圆上输出Y, 不在圆上输出
N 。使用小数点后3 位精度进行判断。
[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入] 0.707,0.707↙ 0.5,0.5↙
[正确输出] [正确输出] Y N
[提示] 1)平面上的点与圆的关系分为在圆内、在圆上、在圆外三种,本题要求判断是否在圆上;2)
判断两实数相等采用判断这两实数的差的绝对值小于规定误差精度 (本题为0.001)的方法实现。
参考程序:
#include \#include \void main() { float a,b;
scanf(\if(fabs(a*a+b*b-1)<1e-3) printf(\
else printf(\}
[题目1017:求数的位数]
由键盘输入一个不多于9 位的正整数,要求输出它是几位数。
[第一组自测数据] [第二组自测数据]
[键盘输入] [键盘输入] 349213↙ 10000↙
[正确输出] [正确输出] 6 5 [提示]划定一位数、二位数、?、九位数的范围, 后用if ?else if ?else 语句实现判断。
参考程序:
main()
{ int n,place; scanf(\
if(n>99999999) place=9; else if(n>9999999) place=8; else if(n>999999) place=7; else if(n>99999) place=6; else if(n>9999) place=5; else if(n>999) place=4; else if(n>99) place=3; else if(n>9) place=2; else place=1;
printf(\}
[题目1018:数的排序]
由键盘输入三个整数a、b、c,按从小到大的顺序输出这三个数。
[第一组自测数据] [第二组自测数据]
[键盘输入] [键盘输入]
65,45,90↙ 9,6,3↙ [正确输出] [正确输出]
45,65,90 3,6,9 参考程序:
#include
{ int a,b,c,t;
scanf(\if(a>b) {t=a;a=b;b=t;} if(a>c) {t=a;a=c;c=t;} if(b>c) {t=b;b=c;c=t;} printf(\}
[题目1016:字符变换]
由键盘输入5 个字符,将其中的大写字母变成小写,其它类型的字符不变,并按输入顺序逐个输出。
[第一组自测数据] [第二组自测数据]
[键盘输入] [键盘输入]
ApPLe↙ a+B=5 ↙
[正确输出] [正确输出]
apple a+b=5 [提示]下面代码实现由键盘读入一个字符,并按题意处理后输出 char a; a=getchar();
if(a>='A' && a<='Z') a=a+32; putchar(a);
现在,题目要求处理5 个字符,怎么做呢?请自己思考?? 参考程序:
#include
{ char a,b,c,d,e;
scanf(\if(a<='Z'&&a>='A') a=a+32; if(b<='Z'&&b>='A') b=b+32; if(c<='Z'&&c>='A') c=c+32; if(d<='Z'&&d>='A') d=d+32; if(e<='Z'&&e>='A') e=e+32;
printf(\}
[题目1019:数的整除]
由键盘输入5 个整数,逐个判断它们能否被27 整除,能的输出“YES”,不能的输出“NO” 注意,
输出时,一个判断结果占一行,5 个数的判断共占5 行)。
[第一组自测数据] [第二组自测数据]
[键盘输入] [键盘输入] 8 27 17577 325 54↙ 8 27 17577 325 54↙
[正确输出] [正确输出] NO NO YES YES YES YES NO NO YES YES [提示]整除即除得余数为0 参考程序:
#include \main()
{ int a,b,c,d,e;
scanf(\if(a'==0) printf(\if(b'==0) printf(\if(c'==0) printf(\if(d'==0) printf(\if(e'==0) printf(\}
#include \void main() {int a,i;
for(i=0;i<6;i++) {scanf(\if(a'==0) printf(\else
printf(\printf(\
[题目1020:正负奇偶判断] 由键盘输入非零整数x,判断该数正负,正数输出positive,负数输出negative,接着判断该数的奇
偶性,奇数输出odd,偶数输出even。
[第一组自测数据] negative [键盘输入] odd
-43 ↙ [第二组自测数据]
[正确输出] [键盘输入] 98↙