主题:读取txt文本数据时只读取成功一个数据??
program awm implicit none real,allocatable::a(:,:) real,allocatable::b(:,:) integer::year,month,day,i integer::m=31,n=24 character(len=20)::str1 character(len=20)::latitude character(len=20)::longitude character(len=20)::str2 allocate(a(m,n),b(m,n)) open(unit=10,file="km.txt") read(10,"(a20)")str1 read(10,"(a20)")latitude read(10,"(a20)")longitude read(10,"(a20)")str2 do i=1,62 if (mod(i,2)==0) then read(10,*)year,month,day,a(i/2,13),a(i/2,14),a(i/2,15),& a(i/2,16),a(i/2,17),a(i/2,18),a(i/2,19),& a(i/2,20),a(i/2,21),a(i/2,22),a(i/2,23),& a(i/2,24) else read(10,*)year,month,day,a(i,1),a(i,2),a(i,3),a(i,4),a(i,5),a(i,6),a(i,7),& a(i,8),a(i,9),a(i,10),a(i,11),a(i,12) end if end do write(*,*)a(m,n),year stop end
下边是txt文件
XM 24 27 N 118 04 E MM 1997 08 01 3940 4710 5350 5680 5280 4240 3130 2210 1540 1250 1390 2070 1997 08 01 2850 3770 4780 5690 5990 5450 4360 3410 2770 2290 2130 2490 1997 08 02 3270 4070 4880 5530 5730 5270 4220 2990 2080 1500 1270 1580 1997 08 02 2450 3190 4100 5200 6030 6130 5360 4200 3210 2620 2320 2290 1997 08 03 2810 3480 4260 5080 5640 5590 4790 3530 2410 1690 1230 1160 1997 08 03 1630 2470 3370 4370 5380 5960 5720 4700 3570 2740 2200 2000 1997 08 04 2260 2950 3800 4680 5440 5780 5410 4300 3040 2040 1380 1040 1997 08 04 1210 1970 2900 3850 4900 5800 6000 5260 4080 3030 2320 1910 1997 08 05 1860 2370 3200 4090 4980 5620 5720 5070 3840 2650 1790 1280 1997 08 05 1150 1550 2420 3370 4420 5450 6060 5860 4860 3630 2740 2140 1997 08 06 1770 1960 2700 3650 4630 5450 5920 5650 4580 3280 2300 1610 1997 08 06 1200 1280 1970 2960 3970 4990 5760 5980 5330 4160 3060 2320 1997 08 07 1860 1730 2200 3080 4030 4960 5640 5820 5170 3980 2820 2030 1997 08 07 1510 1230 1600 2510 3450 4430 5350 5860 5610 4660 3500 2580 1997 08 08 1970 1610 1770 2470 3310 4150 4990 5580 5470 4540 3230 2260 1997 08 08 1650 1270 1320 1910 2700 3560 4460 5230 5510 5020 3950 2900 1997 08 09 2200 1790 1540 1780 2420 3160 3990 4730 5200 4950 4020 2890 1997 08 09 2160 1700 1480 1700 2380 3160 3930 4740 5350 5310 4550 3480 1997 08 10 2600 2030 1640 1570 2030 2790 3580 4340 4970 5090 4600 3640 1997 08 10 1800 2120 1820 1770 2110 2790 3610 4440 5100 5360 5030 4140 1997 08 11 3180 2460 1890 1650 1800 2330 3040 3790 4520 5040 5020 4430 1997 08 11 3560 2850 2360 2080 2100 2540 3210 3910 4620 5100 5200 4720 1997 08 12 3930 3150 2510 2000 1770 1950 2480 3180 3920 4630 5080 5040 1997 08 12 4500 3780 3140 2660 2370 2390 2800 3450 4150 4760 5180 5230 1997 08 13 4760 3980 3190 2490 1970 1740 1880 2400 3070 3750 4470 5010 1997 08 13 5100 4680 3970 3320 2820 2490 2430 2750 3360 4010 4640 5090 1997 08 14 5230 4870 4070 3260 2500 1960 1620 1680 2220 2900 3620 4410 1997 08 14 5100 5370 5060 4370 3620 3000 2560 2360 2590 3140 3820 4530 1997 08 15 5130 5380 5120 4350 3390 2520 1840 1410 1410 1940 2720 3540 1997 08 15 4470 5350 5810 5560 4720 3750 3050 2530 2250 2420 3030 3840 1997 08 16 4710 5440 5820 5570 4690 3570 2570 1750 1200 1200 1910 2900 1997 08 16 3910 5020 6030 6490 6070 5000 3920 3150 2550 2210 2420 3280 1997 08 17 4350 3320 6130 6510 6100 4980 3690 2600 1710 1110 1180 2130 1997 08 17 3330 4480 5680 6780 7100 6350 5030 3930 3110 2460 2130 2650 1997 08 18 3820 5060 6160 7020 7170 6410 5030 3680 2550 1550 1000 1250 1997 08 18 2410 3630 4690 5780 6680 6660 5620 4110 2980 2210 1690 1640 1997 08 19 2400 3380 4250 5190 6100 6450 5750 4180 2750 1720 920 520 1997 08 19 1000 2000 2990 4240 5720 6830 6860 5630 4020 2900 2130 1520 1997 08 20 1470 2320 3440 4530 5680 6620 6690 5670 4100 2730 1680 890 1997 08 20 620 1280 2420 3540 4810 6180 7010 6630 5130 3620 2670 1900 1997 08 21 1280 1430 2540 3650 4710 5840 6700 6620 5380 3850 2560 1610 1997 08 21 950 810 1570 2670 3810 5110 6400 6970 6250 4720 3320 2370 1997 08 22 1590 1130 1550 5700 3870 5040 6200 6820 6410 4980 3540 2490 1997 08 22 1680 1040 1150 2120 3300 4370 5470 6430 6530 5540 4070 2850 1997 08 23 2010 1340 1050 1660 2730 3700 4680 5690 6220 5800 4490 3230 1997 08 23 2400 1780 1370 1610 2490 3490 4470 5430 6120 6010 5000 3630 1997 08 24 2630 1930 1340 1190 1820 2770 3710 4700 5590 5970 5480 4350 1997 08 24 3300 2580 2050 1730 2000 2820 3760 4660 5480 5910 5680 4680 1997 08 25 3520 2660 1980 1480 1400 2000 2860 3710 4590 5390 5710 5280 1997 08 25 4350 3430 2830 2360 2120 2360 3040 3880 4690 5340 5640 5340 1997 08 26 4470 3480 2690 4570 1630 1600 2100 2840 3620 4390 5090 5460 1997 08 26 5210 4480 3690 3090 2680 2450 2580 3080 3790 4520 5080 5390 1997 08 27 5190 4530 3670 2880 2310 1880 1800 2160 2840 3580 4320 5020 1997 08 27 5450 5360 4760 4050 3430 2960 2680 2690 3070 3710 4430 5030 1997 08 28 5370 5300 4780 3990 3170 2510 2070 1840 2090 2770 3570 4350 1997 08 28 5040 5520 5620 5190 4470 3770 3280 3000 2890 3160 3850 4730 1997 08 29 5460 5860 5840 5330 4470 3590 2790 2200 1890 1980 2600 3470 1997 08 29 4250 4960 5590 5750 5310 4410 3550 2890 2380 2260 2690 3360 1997 08 30 4080 4880 5610 5890 5360 4140 3010 2330 1860 1420 1680 2440 1997 08 30 3260 4160 4960 5550 5560 4930 3960 3090 2550 2180 2150 2620 1997 08 31 3390 4160 4890 5380 5340 4680 3580 2520 1730 1290 1250 1720 1997 08 31 2530 3430 4430 5350 5840 5530 4580 3480 2700 2140 1840 2060
运行结果是2060.00000 1997
我想达到的预期是a(31,24)这个数组和年份