/*算法提高 11-1实现strcmp函数 时间限制:1.0s 内存限制:256.0MB提交此题 问题描述 自己实现一个比较字符串大小的函数,也即实现strcmp函数。函数:int myStrcmp(char *s1,char *s2) 按照ASCII顺序比较字符串s1与s2。若s1与s2相等返回0,s1>s2返回1,s1<s2返回-1。具体来说,两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止(注意'\0'值为0,小于任意ASCII字符)。如:
"A"<"B"
"a">"A"
"computer">"compare"
"hello"<"helloworld"
样例输出
hello
helloword
-1
数据规模和约定
字符串长度<100。 */
#include <stdio.h>
int main() {
int i; char a[100],b[100];
gets(a); gets(b);
for (i=0;;i++) {
if (a[i]<b[i]) {
printf("-1");break; }
if (a[i]>b[i]) {
printf("1");break; }
if (a[i]==b[i]) {
if (a[i+1]=='\0'&&b[i+1]=='\0') {
printf("0");break; }
if (a[i+1]=='\0') {
printf("-1");break; }
if (b[i+1]=='\0') {
printf("1");break;
}
}
}
return 0;
}
二、/*算法提高 7-2求arccos值 时间限制:10.0s 内存限制:256.0MB提交此题 问题描述 利用标准库中的cos(x)和fabs(x)函数实现arccos(x)函数,x取值范围是[-1, 1],返回值为[0, PI]。要求结果准确到小数点后5位。(PI = 3.1415926) 提示:要达到这种程度的精度需要使用double类型。
样例输入
0.5
样例输出
0.5
1.04720
数据规模和约定
-1 <= x <= 1, 0 <= arccos(x) <= PI。
#include<stdio.h>
#include<math.h>
int main(){
double x;
scanf("%lf",&x);
printf("%.5lf",acos(x));
return 0;
}*/
#include<cstdio>
#include<cmath>
#define PI 3.1415926
using namespace std;
int main() {
float x; double s;
scanf("%f",&x);
if(x==0) s=PI/2;
else if(x<0)
s=PI-atan(sqrt(1-x*x)/(-1*x));
else
s=atan(sqrt(1-x*x)/x);
printf("%0.5f\n", s);
return 0;
}
蓝杯二十三 蓝杯二十三 蓝杯二十三
网友评论