重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
C
创新互联服务项目包括开平网站建设、开平网站制作、开平网页制作以及开平网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,开平网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到开平省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
因为只有C,D是把数据存放到文件中的函数
C是存int型
D是存char型
估计题目你没有看懂啊,程序其实不难,用字符串来做更简单
void jian(char *a,char *b,char *c) //ab为减数,c为结果,你也可以abc为全局数组
{
char a1[100]={0},b1[100]={0},c1[100]={0}; //赋值0防干扰
int i,j,flag;
int la,lb,lc;
la=strlen(a);
lb=strlen(b);
lc=lalb?la:lb;
strrev(a);
strrev(b);
if(strcmp(a,b)) //保证a1是大的树
{
strcpy(a1,a);
strcpy(b1,b);
flag=1;
}
else
{
strcpy(a1,b);
strcpy(b1,a);
flag=0;
}
for(i=0;ila;i++) //变成int
a1[i]=a[i]-48;
for(i=0;ilb;i++)
b1[i]=b[i]-48;
c[0]=a[0]-b[0]; //先算个位
for(i=1;ilc;i++)
{
if(c[i-1]0) //借位
{
a[i]--;
c[i-1]+=10;
}
c[i]=a[i]-b[i];
}
while(c[lc-1]) //处理最高位的那些0
lc--;
for(i=0;ilc;i++)
c1[i]=c[i]+48;
if(flag)
{
c[lc-1]='-';
lc++;
}
strrev(c1);
strcpy(c,c1);
}
main()
{
char x[100],y[100],z[100];
gets(x);
gets(b);
jian(x,y,z);
puts(z);
}
void input(int n,int *a)
{
int i;
for(i=0;in;i++) scanf("%d",a[i]);
}
C语言有以下几种取整方法:
1、直接赋值给整数变量.如:
int i = 2.5; 或 i = (int) 2.5;
这种方法采用的是舍去小数部分
2、C/C++中的整数除法运算符“/”本身就有取整功能(int / int),但是整数除法对负数的取整结果和使用的C编译器有关.
3、使用floor函数.floor(x)返回的是小于或等于x的最大整数.如:
floor(2.5) = 2
floor(-2.5) = -3
4、使用ceil函数.ceil(x)返回的是大于x的最小整数.如:
ceil(2.5) = 3
ceil(-2.5) = -2
floor()是向负无穷大舍入,floor(-2.5) = -3;ceil()是向正无穷大舍入,ceil(-2.5) = -2.
C语言的取整是指将浮点数转换为整数,即只取整数部分。
这个操作并不是通过函数实现的,而是C语言的强制类型转换。
强制浮点数转换为整数的规则为,只取浮点数的整数部分,无条件舍去小数部分。
形式为
(int)float_number
于是
(int)
1.3
的结果为1。
(int)
2.9999的结果为2。
另一种常见的取整需求为四舍五入到整数,可以通过
(int)(float_number+0.5)
的方式实现。
即
(int)(1.49+0.5)
=
(int)1.99
=
1;
(int)(2.5+0.5)=(int)(3.0)
=
3。