判断两实数相等采用判断这两实数的差的绝对值小于规定误差精度 (本题为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(\ }
[题目1020:正负奇偶判断]
由键盘输入非零整数x,判断该数正负,正数输出positive,负数输出negative,接着判断该数的奇
偶性,奇数输出odd,偶数输出even。
[第一组自测数据] negative [键盘输入] odd
-43 ↙ [第二组自测数据] [正确输出] [键盘输入] 98↙ positive [正确输出] even 参考程序:
#include \ main() { int n;
scanf(\
if(n<0)printf(\ else printf(\
if(n%2==0)printf(\ else printf(\ }
[题目1023:简单计算器]
下面程序是实现一个简单的运算器 保留两位小数点),如果由键盘输入10+50,计算机可以输出结
果60.00;如果输入8*6,计算机输出48.00;如果输入20/4,计算机输出5.00;如果输入8-6,计算机
输出2.00,请在空处填上适当的代码,运行通过后并提交。 #include \ void main()
{ float a,b,c; char op;
scanf(\ ); switch (op)
{ case '+': ; case '-': _; case '*': _; case '/': __ ; default: printf(\ return ; }
printf(\ \ }
[第一组自测数据] 测数据]
[键盘输入] 45*2↙ [正确输出] 90
参考程序:
#include
{ float a,b,c; char op;
scanf(\ switch(op)
{ case '+':c=a+b;break; case '-':c=a-b;break; case '*':c=a*b;break;
[第二组自 [键盘输入] 50.1-23↙ [正确输出] 27.10 case '/':c=a/b;break; default:printf(\ break; }
printf(\ } 、 实验
5 循环结构程序设计(一)
一、实验目的
1)熟悉掌握用while 语句、do-while 语句和for 语句实现循环的方法。 2)掌握在程序设计中用循环实现一些常用算法 (如穷举、迭代、递推等)。
二、实验内容
[题目1024:计算阶乘]
输入正整数n,计算n!,结果用长整型数表示 注n!=1*2*3*...*n) [第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入] 5↙ 8↙
[正确输出] [正确输出] 120 40320 参考程序:
#include
{ long i,n=1,a; scanf(\
for(i=1;i<=a;i++) n=n*i; printf(\ }
[题目1025:计算数列和]
有数列1,3,5,7,9,11,??
现要求由键盘输入n,计算输出该数列的前n 项和。
[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入] 2↙ 5↙
[正确输出] [正确输出] 4 25