int main()
{
int i
printf("请输入数字\n")
scanf("%d",&i)
if(i>=0)
{
printf("这个数字为非负数")
}
else
printf("这个数字为负数")
}
楼主,我给你一个例子:char
number
//简单方式
if(number>0)
{
......//正数
}
else
{
....//负数
}
//复杂一点
char
number
char
temp
temp=255+number
if(temp>0)
{
......//负数
}
else
{
....//正数
}
有问题,再问!
/*c语言复数运算
*/
#include<stdio.h>
#include<stdlib.h>
typedef struct
{
double r,i //r为实部,i为虚部
}complex
complex* add(complex *a,complex *b) //复数a + 复数b
complex* minus(complex *a,complex *b) //复数a - 复数b
complex* multiply(complex *a,complex *b) //复数a * 复数b
void printComplex(complex *a) //输出
complex* add(complex *a,complex *b) {
complex *add
add->r =a->r+b->r
add->i =a->i+b->i
return add
}
complex* minus(complex *a,complex *b)
{
complex *minus
minus->r =a->r-b->r
minus->i =a->i-b->i
return minus
}
complex* multiply(complex *a,complex *b)
{
complex *multiply
multiply->r = a->r*b->r-a->i*b->i
multiply->i = a->i*b->r+a->r*b->i
return multiply
}
void printComplex(complex *a) //输出要注意虚部有负数的情况
{
if(a->r!=0)
printf("%.2lf",a->r) //不要断行,先输出实部
else
printf("0.00")
if(a->i>0) //大于0,正常输出+虚部
printf(" + %.2lfi\n",a->i)
else if(a->i<0) //虚部是负数,不用输出+号了,直接输出负数
printf(" %.2lfi\n",a->i)
else
printf(" + 0.00i\n")//虚部为0
}
帮你改了下,再去试试吧。一时之间我也想不出还有什么漏洞了。祝好运。如果是自己写主函数的话,改一改那个输入吧,输入很容易会造成问题的
这一句: scanf("...%f %c ",...,c),一个不好输入就会出错,c可能会获取到空白。