求助 求最大值最小值的差 程序跑不出来 哪里有问题??
#include<stdio.h>#include<stdlib.h>
int main()
{
double max,min,t,minus;
int i;
printf("请输入十天的平均气温:");
scanf("%f,%f,%f,%f,%f,%f,%f,%f,%f,%f",&t);
max=t;
min=t;
minus=max-min;
printf("温差为:%f",minus);
for(i=0;i<10;i++);
{
if(max<t)
max=t;
if(min>t)
min=t;
}
system("pause");
return(0);
} 本帖最后由 LuLD 于 2020-10-9 10:46 编辑
scanf("%f,%f,%f,%f,%f,%f,%f,%f,%f,%f",&t); 这么写输入的值不会传递到 t 的数组里的
minus=max-min;
printf("温差为:%f",minus);这两行应该在 for(i=0;i<10;i++) 这个循环之后
for(i=0;i<10;i++); 不应该有 ; 的,里面的循环体不会执行的
#include<stdio.h>
#include<stdlib.h>
int main()
{
float max, min, t, minus;
int i;
printf("请输入十天的平均气温:");
//scanf("%f,%f,%f,%f,%f,%f,%f,%f,%f,%f", &t);
for (i = 0; i < 10; i++)
{
scanf("%f", &t);
}
max = t;
min = t;
for (i = 0; i < 10; i++)
{
if (max < t)
max = t;
if (min > t)
min = t;
}
minus = max - min;
printf("温差为:%.2f\n", minus);
system("pause");
return(0);
} 数组t中有十个数组元素,下标从0开始,所以最大为t;scanf中&t意思是给数组中第十一个元素赋值。
printf("温差为:%f",minus); minus前面的逗号是中文的。
double变量可以用%f或%lf在printf输出,float变量只能用%f输出
double变量只能用%lf在scanf输入,float变量只能用%f输入
所以scanf应该是scanf("%lf")
minus=max-min; printf("温差为:%f",minus);这两个行代码在上面执行不到for循环温差就出来了
#include<stdio.h>
//#include<stdlib.h>
int main()
{
double max,min,t,minus;
int i;
printf("请输入十天的平均气温:");
//scanf("%f,%f,%f,%f,%f,%f,%f,%f,%f,%f",&t);
for (i = 0; i < 10; i ++)
{
scanf("%lf", &t);
}
max=t;
min=t;
//minus=max-min;
//printf("温差为:%f",minus);
for(i=0;i<10;i++)
{
if(max<t)
max=t;
if(min>t)
min=t;
}
minus=max-min;
printf("温差为:%f",minus);
system("pause");
return 0;
} LuLD 发表于 2020-10-9 10:23
scanf("%f,%f,%f,%f,%f,%f,%f,%f,%f,%f",&t); 这么写输入的值不会传递到 t 的数组里的
minus=max-mi ...
写了个跟你一模一样的程序。我今天见鬼了,输入10个数就是输不进去。 风过无痕1989 发表于 2020-10-9 10:53
写了个跟你一模一样的程序。我今天见鬼了,输入10个数就是输不进去。
想看看 LuLD 发表于 2020-10-9 11:10
想看看
你已经发出来了,我就不发了。用 for 循环,while 循环都写不进那个 t 数组 本帖最后由 风过无痕1989 于 2020-10-9 11:31 编辑
心驰神往 发表于 2020-10-9 10:52
数组t中有十个数组元素,下标从0开始,所以最大为t;scanf中&t意思是给数组中第十一个元素赋值 ...
你的程序存在四个错误一个告警:
test.c(19) : error C2115: '<' : incompatible types // 此类型不支持所请求的操作。
test.c(20) : error C2115: '=' : incompatible types
test.c(21) : error C2115: '>' : incompatible types
test.c(22) : error C2115: '=' : incompatible types
test.c(26) : warning C4013: 'system' undefined; assuming extern returning int
错误的原因上面说了,改正的方法如下:
if(max < t[ i ])
max = t[ i ];
if(min > t[ i ])
min = t[ i ];
告警的原因是你注释掉了 #include<stdlib.h>,而没有加上 #include<windows.h> 。因为他的程序最后有 system("pause");语句 风过无痕1989 发表于 2020-10-9 11:19
你的程序存在四个错误一个告警:
test.c(19) : error C2115: '' : incompatible types
test.c(22) :...
我用的Devc++5.11没报错
页:
[1]