【思路】
第一步,设既不是7的倍数又不是9的倍数的数有a个,用[x]表示不大于x的最大整数。则在1到400中,是7的倍数的数有[]=57个,是9的倍数的数有[]=44个,既是7的倍数又是9的倍数的数有[]= 6个。
第二步,根据两集合容斥原理公式:A+B-AB=总数-都不满足个数,有:57+44-6=400-a,计算得a=305。
因此,答案为D。