C语言 绝对值问题

#include<stdio.h>
#include<math.h>
int main()
{
int i;
int Thefirstnumber;
int Thesecondnumber;
int sum=0;
printf("请输入任意两个整数(负数也可有):");
scanf("%d %d",&Thefirstnumber,&Thesecondnumber);
Thefirstnumber=abs(i);
Thesecondnumber=abs(i);
for(i=Thefirstnumber+1;i<Thesecondnumber;i++)
{
sum+=i;
}
printf("%d\n",sum);
return 0;
}

我这段代码 如果要实现这道题目的 需要+一些什么 还是修改一些什么?

第1个回答  2012-02-21
c语言不是盲目的完成题目要求,要加入算法,这样会大大的减少运算时间和空间,比如这题就可以用公式算,先判断Thefirstnumber,Thesecondnumber的正负性,因为是连续整数 适用等差数列求和公式
还有 这题你理解的有问题,你求的是绝对值之后两个数之间的所有数和 题说的是绝对值前的所有数的和 ,你这样得出的答案会小很多追问

我是初学者 不懂什么东西, 麻烦你详细说 或者写代码出来 解释一下因为所以. 谢谢

追答

我这没有编译环境 简单给你写个你自己调试下

追问

OK

追答

#include
#include
int main()
{
int flag1=0,flag2=0;//用于标记输入的两个数的正负性
int a,b;//存放输入的两个数
int num=0;//公式中的项数
int sum=0;//最后结果
printf("请输入任意两个整数(负数也可有):");
scanf("%d %d",&a,&b);
if(a>=0){//若非负为1
flag1=1;
}
if(b>=0){
flag2=1;
}
if(flag1==flag2){//同负或同正
num=(abs(flag1-flag2)+1);
sum=abs(flag1+flag2)*num/2;
}else{//a,b异号
sum=(abs(flag1)+1)*abs(flag1)/2+(abs(flag2)+1)*abs(flag2)/2;//异号时相当于求两个从1开始的等差数列的和
}
printf("%d\n",sum);
}

追问

不可以 输入什么都=1的

第2个回答  2012-02-21
#include<stdio.h>
#include<math.h>
int main()
{
int i;
int Thefirstnumber;
int Thesecondnumber;
int sum=0;
printf("请输入任意两个整数(负数也可有):");
scanf("%d %d",&Thefirstnumber,&Thesecondnumber);
if(Thefirstnumber>Thesecondnumber)
{
int tmp=Thesecondnumber;
Thesecondnumber=Thefirstnumber;
Thefirstnumber=tmp;
}
for(i=Thefirstnumber+1;i<Thesecondnumber;i++)
{
sum+=abs(i);
}
printf("%d\n",sum);
return 0;
}追问

int tmp=Thesecondnumber;
Thesecondnumber=Thefirstnumber;
Thefirstnumber=tmp;
这段代码 什么 意思?
sum+=abs(i);
这个也解释一下。

追答

前面3句就是如果有必要就交换数值,让输入的两个中较大的一个存储在sencond中。方便下面的运算。
sum+=abs(i);就相当于sum=sum+abs(i)。其中i是first和second之间的整数。也就是i取绝对值后加在sum上。

追问

tmp是代表什么? 我是初学者 不是很明白。
你可以把你的Q 留下来吗?

本回答被提问者采纳
第3个回答  2012-02-21
看样子你可能还没有学过函数,如果用函数的话,代码会简洁的多。下面我给出printf("正数:%d\\n负数:%d\\n总和:%d\\n绝对值最大%d\\n绝对值最小:%追问

你可以 给一段 完整的代码给我吗? 谢谢了。

第4个回答  2012-02-22
yuky

c语言中绝对值怎么表示啊?
C语言中绝对值使用abs函数表示。以下是 在C语言中,绝对值表示一个数值不考虑其符号的大小。无论是正数还是负数,其绝对值都是去掉符号后的数值。为了计算绝对值,C语言提供了abs函数。abs函数的使用方法:1. 在C语言的头文件中,abs函数被定义。因此,要使用abs函数,首先需要包含这个头文件。2. abs...

c语言要求求一个数的绝对值!!!过程!!!
(1)求绝对值就是让将负数转成正数,正数还是其本身,以下是代码:include<stdio.h>int Abs(int a){ if(a<0) return -a; return a;}void main(){ int a; printf("请输入一个数:"); scanf("%d",&a); printf("%d的绝对值是:%d\\n",a,Abs(a));}(2)以...

C语言 初学者 绝对值的问题。
比如:-3~3,你的写法是先取了绝对值,Thefirstnumber=abs(i);Thesecondnumber=abs(i);这样first和second就变成3,3了 应该i从-3开始,每取一个再求绝对值,再求和

C语言 求绝对值
有。C语言求绝对值的函数为abs( x )与fbs( x ),abs( x )包含于stdlib.h,且两者均包含于math头文件之下。1、abs( x )函数 格式:int abs( int i );作用:求整型数的绝对值 例子:include<stdio.h> include <stdlib.h> include<math.h> main( ){ int a = 1, b = -2 ;prin...

绝对值c语言怎么表示
在C语言中,绝对值通常表示为一个数与0之间的距离。相关知识如下:1、对于整数来说,这个距离就是它本身;对于负数来说,这个距离是它的相反数。因此,我们可以使用条件语句来判断一个数的正负,然后根据其正负来计算其绝对值。2、我们需要了解C语言中的条件语句。条件语句是一种控制结构,用于根据条件...

在c语言里面如何把绝对值函数abs(a)取出来?
问题二:EXCEL里取绝对值用哪个函数? |A1|=ABS(A1)问题三:c语言中取绝对值是哪个函数 abs函数的参数只能是整数,返回值也是整数,fabs的参数可以是整数也可以是浮激数,但返回值是浮点数 问题四:高中数学绝对值函数如何去绝对值 |a| = a ; a ≥0 =-a ; a 问题五:sql 怎么取绝对...

C语言求绝对值的程序错在哪?
double的精度是12位,float的精度只有6位,所以,你输入的时候需要特别的注意,不能使用%f。f是float类型的,对于double需要使用%lf。将你的语句 scanf("%f",&a);改为:scanf("%lf",&a);就可以了。下面是运行截图:

C语言绝对值有没有函数?怎么用的?
要先#include <math.h> 求 int型 x的绝对值:int abs(int x)求 double型 x的绝对值:double fabs(double x)

C语言 绝对值问题
c语言不是盲目的完成题目要求,要加入算法,这样会大大的减少运算时间和空间,比如这题就可以用公式算,先判断Thefirstnumber,Thesecondnumber的正负性,因为是连续整数 适用等差数列求和公式 还有 这题你理解的有问题,你求的是绝对值之后两个数之间的所有数和 题说的是绝对值前的所有数的和 ,你...

c语言问题,怎么把数组进行绝对值后输出
依次遍历数组各个元素,用if判断如果该数小于0,输出该数的相反数,否则直接输出该数。最后输出的结果就是其数组的绝对值。

相似回答