输入循环整数 ,输入零结束,计算最大值和最小值的差【最大最小值不能为零】
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int num=0,i,max=0,min=0;
for(i=1;;i++){
scanf("%d", &num);
if(i==1){
max=num;
min=num;
}
if(num==0){
break;
}else if(max<num){
max=num;
}else if(min>num){
min=num;
}
}
printf("最大值%d\n", max);
printf("最小值%d\n", min);
printf("差等于%d\n", max-min);
return 0;
}
该程序本身没问题,i的值最后为-2,unsigned存在导致死循环。
删除unsigned或第三行的等于号即可
计算序列 1-1/3+1/5-1/7