Ⅰ c语言:循环语句解决:从键盘输入一个负整数,在屏幕上将其逆序输出。该怎么处理呢谢谢。
看看这个行不行:
#include<stdio.h>
voidmain()
{
intn,tmp=0;
printf("输入一个负整数:");
scanf("%d",&n);
if(n<0)
{
n=-n;
while(n!=0)
{
tmp=tmp*10+n%10;
n=n/10;
}
printf("%d ",-tmp);
}
else
{
printf("错误:输入的不是一个负数。");
}
}
Ⅱ 请问在C语言中程序的运行结果能是负数吗
能啊,如果你说的是变量,把变量定义成有符号数就行。如果你说的是函数返回值,把函数返回类型定义为有符号就行。
Ⅲ 用C语言逆序输出一个整数,并且要求正确的输出负数
输入的时候就是把数字也看成一个个字符
定义一个word[100]
然后调用输入函数,把你的字符串输入其中。
再逆序一下输出就好了
Ⅳ c语言关于负数求逆序
对于遵守c99及以后版本标准的编译器来说,是没有必要
但对于c99标准以前的编译器,就有必要了,因为c99以前没有对有负数参与的求模运算做规定,不同的编译器可能结果不同,余数可能是负数
C99 规定:如果 % 左边>0,则结果>=0;如果 % 左边<0,则结果<=0
Ⅳ c语言中输入负整数,怎样忽略负号
忽略负号是应该取绝对值,但对于初学者可能有些还不会,比如还没学到函数
那么可以有个最简单的语句
if(a<0)
a*=-1; //a*=-1相当于a=a*-1
如果a<0,就把a乘一个-1
Ⅵ C语言输出整型时为什么有时会输出负数
可以把代码贴出来吗
楼主,我没有出现你的情况
我用的是你的代码,运用winTC编译,代码如下
#include"stdio.h"
main()
{
inta,b;
scanf("%d%d",&a,&b);
printf("%d,%d",a,b);
getch();
}
输入4-7,输出为4,-7
没有出现溢出现象
Ⅶ 要求输入一整数,逆序输出,要求带负数,用c语言,速求,可加分,最好别用数组
#include <stdio.h>
int main()
{
int n;
int flag = 0;
scanf("%d",&n);
if(n<0)
{
n = -n;
flag = 1;
}
if(n==0)
puts("0");
else
{
while(n)
{
printf("%d",n%10);
n/=10;
}
if(flag)
putchar('-');
putchar('\n');
}
return 0;
}
Ⅷ c语言问题,为什么会输出负数
这个问题有多种可能,不一而足。
算法有错误,最终计算结果是负数。输出自然会是负数。
例如:
inta=1;
intb=a-2;
printf("b=%d",b);
//输出结果:b=-1超过变量类型的最大取值范围,发生溢出。
例如Turbo C里int是16位,取值范围-32768~32767。如果计算过程当中,数值超过32767,由于补码的关系。结果就有可能是负数。这种情况,就需要使用取值范围更大的数据类型。
例程:
#include<stdio.h>
voidmain(){
inta,b,ch;
a=32767;
b=a+1;
printf("a=%d,b=%d",a,b);
ch=getch();
}
//输出结果:a=32767,b=-32768
Ⅸ C语言编写程序从键盘输入一个整数,判断其正负,正数输出其相反数,负数输出零
#include <stdio.h>
int main()
{ int x;
scanf("%d",&x);
printf("%d\n",x>0?-x:0);
return 0;
}