有两天没练手了

题目九:求圆周率pi的无穷级数表示:pi/4=1/1-1/3+1/5-1/7+1/9-1/11+···

 

#include<stdio.h>

#include<math.h>

main(){

int i=-1,flag=-1;

double delt,pi=0.0;

do{

i+=2;

flag*=-1;

delt=flag/(1.0*i);--->不能写成delt=falg/i;因为两个(flag和i)直接相除,商的小数部分会自动去掉

pi+=delt;

}while(fabs(delt)>1e-6);--->求绝对值的函数 |delt|>1e-6

pi=pi*4;

printf("pi的值是:%g/n",pi);-->把%g写成%d了,怎么调试都不对,原来是输出语句写错了,以后多注意呀···

}

 

题目十:编写C程序,实现通过键盘输入一行字符,经过a<--->z,b<--->y,c<--->x······y<--->b,z<--->a的处理后在输出加密后的信息文本行。

方法一:

 

#include<stdio.h>

#include<math.h>

main(){

char c1;

int d;

do{

scanf("%c",&c1);

if(c1>='a' && c1<='z'){

d=c1-'a';

c1='z'-d;

}

else if(c1>='A' && c1<='Z'){

d=c1-'A';

c1='Z'-d;

}

else if(c1>='0' && c1<='9'){

d=c1-'0';

c1='9'-d;

printf("%cd/n",c1);---->字符输出,用%c

}while(c1=='/n');

}

方法二:因为a-z,A-Z,0-9的ASCII码在48-122之间,故而可用此方法

 

#include<stdio.h>

#include<math.h>

main(){

char c1;

int d;

do{

scanf("%c",&c1);

if(c1>=48 && c1<=122){

d=c1-48;

c1=122-d;

}

printf("%c/n",c1);

}while(c1=='/n');

}

 

 

题目11:用二分法解无理方程,y=x*x*x-sqrt(x)-5在区间[1,4]上的解

 

#include<stdio.h>

#include<math.h>

main(){

double x1,x2,x12,y1,y12;

x1=1;

x2=4;

do{

x12=(x1+x2)/2;

y1=x1*x1*x1-sqrt(x1)-5;

y12=x12*x12*x12-sqrt(x12)-5;

if(y1*y12<0){

x2=x12;

}

else{

x1=x12;

}

}while(fabs(y12)>1e-9);

printf("x=%.9g/ny=%.9g/n",x12,y12j);--->小数点后9位小数

}

 

 

题目12:手机短信恶作剧案例分析:测试你的性格指数

  随便去一个介于125到999之间的整数,乘以81后把得数各位上的数字相加取和。如果和数是两位数,还需要把这个两位数的个位数字和十位数字相加再次取和数;再减去不吉利的数字4,再乘以50,就得到您的性格指数。

 问题分析:125*8=10125,999*81=80919,由于10125和80919都是5位数的整数,因此可以断言介于125和999之间的所有整数与81相乘后的成绩都是5位数,而最大的5位数为99999,各位上数字的和最大为45,因此整数i各位上的数字之和最大为2位数。

  判断一个数到底是否为两位数,设这个整除为i,则当i/10大于0时,则整数i就是这个两位数

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值