77范文网 - 专业文章范例文档资料分享平台

C语言谭浩强第四版例题(5)

来源:网络收集 时间:2018-12-29 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

111?1?????例5.7用 4 7 公式求 ? 的近似值,直到发现某一项的绝对值小于3 510*6 为止(该项不累计加)。 编写程序:

#include #include int main() {

int sign=1; // sign用来表示数值的符号

double pi=0.0,n=1.0,term=1.0; // pi代表π,n代表分母,term代表当前项的值

while(fabs(term)>=1e-8) // 检查当前项term的绝对值是否大于或等于10的(-6)次方 {

pi=pi+term; // 把当前项term累加到pi中 n=n+2; // n+2是下一项的分母

sign=-sign; // sign代表符号,下一项的符号与上一项符号相反 term=sign/n; // 求出下一项的值term }

pi=pi*4; // 多项式的和pi乘以4,才是π的近似值 printf(\ // 输出π的近似值 }

#include #include int main() {

int sign=1; // sign用来表示数值的符号 int t=0; // t 代表当前执行循环体的次数

double pi=0.0,n=1.0,term=1.0; // pi代表π,n代表分母,term代表当前项的值

while(fabs(term)>=1e-6) // 检查当前项term的绝对值是否大于或等于10的(-6)次方 {t=t+1; // 每进入一次循环体,t的值加1 pi=pi+term; // 把当前项term累加到pi中 n=n+2; // n+2是下一项的分母

sign=-sign; // sign代表符号,下一项的符号与上一项符号相反 term=sign/n; // 求出下一项的值term }

pi=pi*4; // 多项式的和pi乘以4,才是π的近似值 printf(\ // 输出π的近似值 }

?例5.8 求费波那西(Fibonacci)数列的前40个数。这个数列有如下特点:第1、2两个数为1、1。从第3个数开始,该数是其前面两个数之和。即: (n?1)?F1?1? (n?2)?F2?1 ?F?F?F(n?3)n?1n?2?n

编写程序:

#include int main() {

int f1=1,f2=1,f3; int i;

printf(\ for(i=1; i<=38; i++) { f3=f1+f2; printf(\ f1=f2; f2=f3;

}

return 0; }

#include int main() {

int f1=1,f2=1; int i;

for(i=1; i<=20; i++) { printf(\ if(i%2==0) printf(\

f1=f1+f2; f2=f2+f1; } return 0; }

// 每个循环中输出2个月的数据,故循环20次即可 // 输出己知的两个月的兔子数 // 计算出下一个月的兔子数,并存放在f1中 // 计算出下两个月的兔子数,并存放在f2中 例5.9输入一个大于3的整数n,判定它是否素数(prime,又称质数)。 编写程序:

#include int main() {int n,i;

printf(\ scanf(\ for (i=2;i<=n-1;i++) if(n%i==0) break;

if(i

#include #include int main() {int n,i,k;

printf(\ scanf(\ k=sqrt(n);

for (i=2;i<=k;i++) if(n%i==0) break;

if(i<=k) printf(\ else printf(\ return 0; }

例5.10 求100~200间的全部素数。 编写程序:

# include # include int main()

{int n,k,i,m=0;

for(n=101;n<=200;n=n+2) // n从100变化到200,对每个n进行判定 { k=sqrt(n);

for (i=2;i<=k;i++)

if (n%i==0) break; // 如果n被i整除,终止内循环,此时i=k+1) // 若j>=k+1,表示n未被整除 {printf(\ // 应确定n是素数 m=m+1; // m用来控制换行,一行内输出10个录素数 } if(m==0) printf(\ // m累计到10的倍数,换行 }

printf (\ return 0; }

例5.11 译密码。为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。

A B C D E F G …… W X Y Z

编写程序:

#include int main() {char c;

c=getchar(); // 输入一个字符给字符变量c while(c!='\\n') // 检查c的值是否换行符'\\n' {if((c>='a' && c<='z') || (c>='A' && c<='Z')) // c如果是字母 { if(c>='W' && c<='Z' || c>='w' && c<='z') c=c-22;

// 如果是26个字母中最后4个字母之一

else c=c+4; // 如果是前面22个字母之一,就使c加4,即变成其后第4个字母 }

printf(\ // 输出己改变的字符

c=getchar(); // 再输入下一个字符给字符变量c }

printf(\ return 0; }

#include int main() {char c;

while((c=getchar())!='\\n') // 输入一个字符给字符变量c并检查它c的值是否换行符 {if((c>='A' && c<='Z') || (c>='a' && c<='z')) // c如果是字母 { c=c+4; // 只要是字母,都先加4 if(c>='Z' && c<='Z'+4 || c>'z') // 如果是26个字母中最后4个字母之一 c=c-26; // c的值改变为26个字母中最前面的4个字母中对应的字母 }

printf(\ // 输出己改变的字符 }

printf(\ return 0; }

例6.1 对10个数组元素依次赋值为0,1, 2,3,4,5,6,7,8,9,要求按逆序输出。 编写程序:

#include int main() {

int i,a[10];

for (i=0; i<=9;i++) a[i]=i;

for(i=9;i>=0; i--) printf(\ printf(\ return 0; }

例6.2 用数组处理求Fibonacci数列问题 编写程序:

#include int main() { int i;

int f[20]={1,1}; for(i=2;i<20;i++) f[i]=f[i-2]+f[i-1]; for(i=0;i<20;i++) {

if(i%5==0) printf(\ printf(\ }

printf(\ return 0; }

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言谭浩强第四版例题(5)在线全文阅读。

C语言谭浩强第四版例题(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/395355.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: