很简单的一个c程序,就是结果不对,郁闷死了

来源:百度知道 编辑:UC知道 时间:2024/06/04 03:37:49
我是用TC调试的,显示出数组元素,可就是结果不对不知道为什么
#include "stdio.h"
#include "math.h"
main()
{int i,k1[30],k2[30];
double floor_M;
float Hrs[60]={1,1,1,1,1,1,1,0.5,0.25,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0.25,1,1,1,1,1,1};
for(i=0;i<=29;i++)
{k1[i]=i;}
for(i=30;i<60;i++)
{k2[i]=i;}
for(i=0;i<60;i++)
printf("%f ",Hrs[i]);
printf("\n");
}
Hrs[i]显示的结果和原先定义的不一样

我虽然看不懂你的程序是做什么的,但见你程序中有错,现在指正如下:
#include "stdio.h"
#include "math.h"
main()
{
int i,k1[30],k2[30];
double floor_M;
float Hrs[60]={1,1,1,1,1,1,1,0.5,0.25,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0.25,1,1,1,1,1,1};
for(i=0;i<=29;i++)
{
k1[i]=i;
}
for(i=30;i<60;i++)
{
k2[i]=i;/*这里是不能这写的,k2是个长度为30的数组,下标是从0-29的而这里的i是从30-59*/
} /*显然不对的,可以改为k2[i-30]=i*/
for(i=0;i<60;i++)
printf("%f ",Hrs[i]);
printf("\n");
}

帮你搞定了

#include "stdio.h"
#include "math.h"
main()
{
int i,k1[30],k2[30];
double floor_M;
float Hrs[60]={1,1,1,1,1,1,1,0.5,0.25,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0.25,1,1,1,1,1,1};
for(i=0;i<