今日练习了acm的几道题目,并且继续听了一节函数的进阶课。
函数的进阶课首先回顾了在真实环境下,自定义函数的调用过程,之后学习了函数的递归,所谓递归便是自己调用自己,但容易出现栈溢出的错误,因此引出函数的递归的两个必要条件,分别是必须要有限制条件使递归终止和要一步一步离终止条件近。才能达到递归的效果
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
double a, b, c, p, s;
scanf("%lf%lf%lf", &a, &b, &c);
p = (a + b + c)/2.0;
s = sqrt(p*(p - a)*(p - b)*(p - c));
printf("%.1lf\n", s);
return 0;
}
//int main()
//{
// int a = 0;
// int b = 0;
// int c = 0;
// int d = 0;
// int e,f;
// scanf("%d%d%d%d", &a, &b,&c,&d);
// if (d >= b)
// {
// e = c - a;
// f = d - b;
// }
// else
// {
// e = c - a - 1;
// f = 60 - b + d;
// }
// printf("%d %d\n", e, f);
// return 0;
//}
//int main()
//{
// double t, n;
// scanf("%lf%lf", &t, &n);
// double a = t / n;
// int b = 2 * n;
// printf("%.3lf\n%d\n", a, b);
//}
//
//
//int main()
//{
// int a = 0;
// int b = 0;
// scanf("%d%d", &a, &b);
// double c = a + 0.1*b;
// int d = c / 1.9;
// printf("%d\n", d);
// return 0;
//}
//int main()
//{
// int a = 0;
// int b = 0;
// scanf("%d%d", &a, &b);
// int sum = a + b;
// printf("%d\n", sum);
// return 0;
//}
int my_strlen(char* str)
{
int count = 0;
while (*str != '\0')
{
count++;
str++;
}
return count;
}
int main()
{
char arr[] = "bit";
int a=my_strlen(arr);
printf("%d\n", a);
return 0;
}
输入一个数字1234 输出1 2 3 4
//void print(int x)
//{
// if (x > 9)
// print(x / 10);
// printf("%d ", x % 10);
//}
//int main()
//{
// int num = 0;
// scanf("%d", &num);
// print(num);
// return 0;
//}
//
//
//
//#include <stdio.h>
//#include "ADD.h"
//
//int main()
//{
// int a = 10;
// int b = 20;
// int sum = ADD(a, b);
// printf("%d\n", sum);
// return 0;
//}