注意事项
error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> d:\program files\microsoft visual studio 11.0\vc\include\stdio.h(290) : 参见“scanf”的声明
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.targets(347,5): error MSB6006: “CL.exe”已退出,代码为 2。
这种微软的警告,主要因为那些C库的函数,很多函数内部是不进行参数检测的(包括越界类的),微软担心使用这些会造成内存异常,所以就改写了同样功能的函数,改写了的函数进行了参数的检测,使用这些新的函数会更安全和便捷。关于这些改写的函数你不用专门去记忆,因为编译器对于每个函数在给出警告时,都会告诉你相应的安全函数,查看警告信息就可以获知,在使用时也再查看一下MSDN详细了解。
#define _CRT_SECURE_NO_DEPRECATE
#define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 1
控制台直接闪退
system("pause");
半圆弧长及面积
#include <stdio.h>
#include <stdlib.h>
const double r = 5.3;
const double pi = 3.14159;
int main() {
printf("Area=%.5f\n", r * r * pi / 2);
printf("circumference=%.5f\n", 2 * r * pi / 2);
getchar();
return 0;
}
逆序数
#define _CRT_SECURE_NO_DEPRECATE
#define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 1
#include <stdio.h>
#include <math.h>
int main()
{
int x, b, y;
printf("Input x:\n");
scanf("%d", &x);
b = fabs(x);
y = (b % 10) * 100 + ((b / 10) % 10) * 10 + b / 100;
printf("y=%d\n", y);
system("pause");
return 0;
}
计算总分和平均分
#define _CRT_SECURE_NO_DEPRECATE
#define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 1
#include<stdio.h>
#include<math.h>
int main(void)
{
int c1 = 86, c2 = 74, c3 = 92, c4 = 77, c5 = 82, c;
int a1 = 81, a2 = 87, a3 = 90, a4 = 62, a5 = 88, a;
float total ,average;
c = c1 + c2 + c3 + c4 + c5;
a = a1 + a2 + a3 + a4 + a5;
total = c *0.3 + a * 0.7;
average = total / 5.00;
printf("total=%.2f\n", total);
printf("average=%.2f\n", average);
printf("average=%d\n", (int)average);
system("pause");
return 0;
}
存款利率
#define _CRT_SECURE_NO_DEPRECATE
#define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 1
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int n, year;
double rate, capital, deposit;
printf("Please enter rate,year,capital:\n");
scanf("%lf,%d,%lf", &rate, &n, &capital);
printf("deposit = %.3f\n", capital * pow(1 + rate, n));
system("pause");
return 0;
}
数位拆分
#define _CRT_SECURE_NO_DEPRECATE
#define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 1
#include <stdio.h>
#include <math.h>
int main()
{
int n;
int n4, n3, n2, n1;
int x, y;
int sum, sub, multi, mod;
float div;
scanf("%d", &n);
n4 = n / 1000;
n3 = n / 100 % 10;
n2 = n / 10 % 10;
n1 = n % 10;
x = 10 * n4 + n3;
y = 10 * n2 + n1;
sum = x + y;
sub = x - y;
multi = x*y;
div = (float)x / y;
mod = x%y;
printf("a=%d,b=%d\n",x,y);
printf("a+b=%d\n", sum);
printf("a-b=%d\n", sub);
printf("a*b=%d\n", multi);
printf("a/b=%.2f\n", div);
printf("a%%b=%d", mod);
system("pause");
return 0;
}
正负余数
#define _CRT_SECURE_NO_DEPRECATE
#define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 1
#include <stdio.h>
int main()
{
int x1, x2;
x1 = (-11) % 5;
x2 = (x1 + 5) % 5;
printf("negative: %d\n", x1);
printf("positive: %d\n", x2);
system("pause");
return 0;
}
身高预测
#define _CRT_SECURE_NO_DEPRECATE
#define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 1
#include <stdio.h>
#include <stdlib.h>
int main()
{
int faHeightm=175,
moHeightm=162,
faHeightw=169,
moHeightw=153,
hm, hw;
hm = (faHeightm + moHeightm)*0.54;//男生身高
hw = (faHeightw*0.923 + moHeightw)*0.5;//女生身高
printf("Height of xiao ming =%d\n",hm );
printf("Height of xiao hong =%d\n",hw);
system("pause");
return 0;
}
一元二次方程的根
#define _CRT_SECURE_NO_DEPRECATE
#include<stdio.h>
#include<math.h>
int main(){
float a=2, b=3, c=1, d;//a,b,c用来存放三个系数,d用来存放一元二次方程组的判别式
float x1, x2;
float m, n;//
float esp = pow(10, -7);
d = b*b - 4 * a*c;
if (d == 0 || d>0)
{
if (d == 0)//d=0时有两相等实根
{
x1 = x2 = (-b + sqrt(d)) / (2 * a);
printf("x1=x2=%p.4f\n", x1, x2);
}
else//d>0时有两不同实根
{
x1 = (-b + sqrt(d)) / (2 * a);
x2 = (-b - sqrt(d)) / (2 * a);
printf("x1=%.4f\n", x1);
printf("x2=%.4f\n", x2);
}
}
else//d<0时是无实根的情况
{
m = -b / (2 * a) + esp;
n = sqrt(-d) / (2 * a);
printf("函数无实根\n");
}
system("pause");
return 0;
}