题目九:求圆周率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就是这个两位数