C语言基础练习题

注意事项

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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值