C语言成长学习题(八)
2015-12-07 00:03
453 查看
三十一、编写程序,用公式∏/4=1-1/3+1/5-1/7+...,求∏的近似值,直到最后一项的绝对值小于10-4为止。
结果:
pi = 3.141397
fabs(x)是库函数,其功能是求x的绝对值。
三十二、编写用人机对话形式进行加、减、乘、除运算的程序。用户没输入一次运算数和运算符,系统输出响应的结果,当输入的运算符为“#”时结束循环。
结果:
请输入第1题,用3#3退出.
2*3.5
2.000000*3.5000000 = 7.000000
请输入第2题,用3#3退出.
3/0
除数是0!
请输入第2题,用3#3退出.
5.5&4.7
&是非法字符!
请输入第2题,用3#3退出.
3#3
三十三、将从键盘输入一串字符(用#结束输入)按如下规则进行转换:
(1)如果输入的字符为大写字母,则先转换为对应的小写字母。
(2)将a转换为c,b转换为d,...,x转换为z,y转换为a,z转换为b。
(3)其它字符不转换
结果:
Input data: UfYr'q 2 yLb 3?#
what's 2 and 3?#
三十四、判断从键盘输入的自然数(大于1),是不是素数。
结果:
(1)Input a(>1): 11
11 is a prime number.
(2)Input a(>1): 15
15 is not a prime number.
三十五、求1!+2!+3!+...+20!的值。
结果:
sum = 2.56133e+018
#include <stdio.h> #include <math.h> void main(void) { int sign = 1, i = 1; float next = 1.0, pi, sum = 0.0; while (fabs (next) >= 1e-4) { sum = sum + next; sign = -sign; i = i + 2; next = (float)sign / i; } pi = sum * 4; printf("pi = %f\n", pi); }
结果:
pi = 3.141397
fabs(x)是库函数,其功能是求x的绝对值。
三十二、编写用人机对话形式进行加、减、乘、除运算的程序。用户没输入一次运算数和运算符,系统输出响应的结果,当输入的运算符为“#”时结束循环。
#include <stdio.h> #include <conio.h> void main(void) { int i = 0, flag = 0; float a, b, result; char sym; clrscr(); printf("请输入第一题,用3#3退出.\n"); scanf("%f%c%f", &a, &sym, &b); while (sym != '#') { switch (sym) { case '+': result = a + b; break; case '-': result = a - b; break; case '*': result = a * b; break; case '/': if (b == 0) flag = 1; else result = a / b; break; default: flag = 2; } if (flag == 0) { printf(%f%c%f = %f\n", a, sym, b, result); i++; } else if (flag == 1) printf("除数为0!\n"); else if (flag == 2) printf("%c是非法运算符!\n", sym); printf("请输入第%d题,用3#3退出.\n", i); scanf("%f%c%f", &a, &sym, &b); } }
结果:
请输入第1题,用3#3退出.
2*3.5
2.000000*3.5000000 = 7.000000
请输入第2题,用3#3退出.
3/0
除数是0!
请输入第2题,用3#3退出.
5.5&4.7
&是非法字符!
请输入第2题,用3#3退出.
3#3
三十三、将从键盘输入一串字符(用#结束输入)按如下规则进行转换:
(1)如果输入的字符为大写字母,则先转换为对应的小写字母。
(2)将a转换为c,b转换为d,...,x转换为z,y转换为a,z转换为b。
(3)其它字符不转换
#include <stdio.h> void main(void) { char ch; printf("Input data: "); do { ch = getchar(); if (ch >= 'A' && ch <= 'Z') ch = ch + 32; if (ch >='a' && ch <='z') ch = ch + 2; if (ch > 'z') ch = ch - 36; putchar(ch); }while (ch != '#'); }
结果:
Input data: UfYr'q 2 yLb 3?#
what's 2 and 3?#
三十四、判断从键盘输入的自然数(大于1),是不是素数。
#include <stdio.h> void main(void) { int i, a; printf("Input a(>1): "); scanf("%d", &a); for (i = 2; i <= a - 1; i++) if (a % i == 0) break; if (i > a-1) printf("%d is a prime number.\n", a); else printf("%d is not a prime number.\n", a); }
结果:
(1)Input a(>1): 11
11 is a prime number.
(2)Input a(>1): 15
15 is not a prime number.
三十五、求1!+2!+3!+...+20!的值。
#include <stdio.h> void main(void) { int n; float fac = 1.0, sum = 0.0; for (n = 1; n <= 20; n++) { fac = fac * n; sum = sum + fac; } printf("sum = %e\n", sum); }
结果:
sum = 2.56133e+018
相关文章推荐
- AVL树的C++实现
- C++ MatrixMultiply
- C语言编译过程
- C++中的空指针和野指针
- C 语言易忘点笔记(四)
- 【C语言提高30】二级指针强化训练[02]
- 【C语言提高30】二级指针强化训练
- 怎样学习 C++ STL?
- LeetCode 231判断2的幂
- VS2008 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”
- 二级指针的作用详解
- Arduino 平台与C语言程序设计-week3-Arduino Programs-Lesson3
- 《C++并发编程实战》读书笔记7---注意事项
- C语言程序设计-第6章 利用数组处理批量数据
- Arduino 平台与C语言程序设计-week3-Arduino Programs-Lesson2
- C语言基础(一)
- mysql Connector C/C++ 多线程封装
- 20151202 c语言小代码
- C语言基础,排序算法之冒泡排序算法
- Arduino 平台与C语言程序设计-week3-Arduino Programs-Lesson1