c语言 经典常用 习题(4)

2019-01-04 22:55

输出

统计第一个字符串中第二个字符串出现的次数

样例输入

Goodoo o

样例输出 4

#include #include using namespace std; int main() { char str1[255],str2[255],*p1,*p2, *temp; int sum=0; cin>>str1; cin>>str2; p1=str1; p2=str2; while (*p1!='\\0') { temp = p1; if(*temp==*p2) { while((*temp==*p2)&&(*p2!='\\0')&&(*temp!='\\0')) { temp++; p2++; } } p1++; if(*p2=='\\0') sum=sum+1; p2=str2; } cout<

任给出平面上n个点的坐标,试求覆盖这n个点的圆的最小半径。

解题思路:只要分别求出所有3点组合覆盖的最小圆,取其中半径最大者即为所求。 那么确定覆盖3点的最小圆的步骤可以如下:

(1) 若3点组成直角或钝角三角形,或3点共线,此时,最小圆的半径为三边中最长边的一半。

(2) 否则,3点组成锐角三角形,最小圆为3点的外接圆。

(3) 外接圆半径计算方法:

(a) 若3点构成一个三角形(即3点不共线),并设3点的坐标为 (x1,y1),(x2,y2),(x3,y3),求出两点(x1,y1)和(x2,y2)之间的距离L1=sqrt((x1-x2)^2+(y1-y2)^2), 同样求出(x1,y1)和(x3,y3)之间的距离L2,以及(x2,y2)和(x3,y3)之间的距离L3。

(b) 求出三角形半周长L=(L1+L2+L3)/2以及面积S=sqrt(L*(L-L1)*(L-L2)*(L-L3))。

(c) 根据公式4SR=L1*L2*L3,求外接圆半径R=L1*L2*L3/(4*S)。 输入

输入平面点的个数n以及n个点的坐标。 输出

输出覆盖这n个点的最小半径(小数点后保留4位)。

样例输入 4

4.2,5.6 78.3,3.8 35.4,15.9 29.88,42.56

样例输出

以上4个点的覆盖圆的最小半径为37.1463

#include #include int main() { double x[10000],y[10000],R[10000]; double r,l,L1,L2,L3,C,S; int n,i,j,a,b,c,t=0,bao; scanf(\ for(i=0;i=3) { for(a=0;a

S=sqrt(C*(C-L1)*(C-L2)*(C-L3)); if(L1>L2) { l=L1; L1=L2; L2=l; } if(L2>L3) { l=L2; L2=L3; L3=l; } if(L1>L2) { l=L1; L1=L2; L2=l; } if(L3*L3=L2*L2+L1*L1) R[t]=L3/2; }

bao=n;

n=(n-1)*(n-2)*n/6; for(j=0;j

}

printf(\以上%d个点的覆盖圆的最小半径为%.4lf\\n\

return 0;

}

编一个程序,输入一个字符串,将组成字符串的所有非英文字母的字符删除后输出。 输入

一个字符串,长度不超过80个字符。 输出

删掉非英文字母后的字符串。

样例输入

abc123+xyz.5

样例输出

abcxyz

#include int main() { int i; char a[1000]; gets(a); for(i=0;a[i];i++) { if(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z') printf(\ } return 0; }

编制函数del_char

函数原型为 void del_char(char *,char),函数的功能是删除a指向的字符串中值为ch的字符,


c语言 经典常用 习题(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:外架施工方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: